serenity/Kernel
Liav A ed67a877a3 Kernel+SystemServer+Base: Introduce the RAMFS filesystem
This filesystem is based on the code of the long-lived TmpFS. It differs
from that filesystem in one keypoint - its root inode doesn't have a
sticky bit on it.

Therefore, we mount it on /dev, to ensure only root can modify files on
that directory. In addition to that, /tmp is mounted directly in the
SystemServer main (start) code, so it's no longer specified in the fstab
file. We ensure that /tmp has a sticky bit and has the value 0777 for
root directory permissions, which is certainly a special case when using
RAM-backed (and in general other) filesystems.

Because of these 2 changes, it's no longer needed to maintain the TmpFS
filesystem, hence it's removed (renamed to RAMFS), because the RAMFS
represents the purpose of this filesystem in a much better way - it
relies on being backed by RAM "storage", and therefore it's easy to
conclude it's temporary and volatile, so its content is gone on either
system shutdown or unmounting of the filesystem.
2023-02-04 15:32:45 -07:00
..
API Kernel/aarch64: Include Error.h to fix aarch64 missing ErrorOr 2023-02-03 20:26:26 +01:00
Arch Kernel: Remove trap based syscall handling 2023-02-02 01:52:52 -07:00
Bus AK: Remove try_ prefix from FixedArray creation functions 2023-01-28 22:41:36 +01:00
Devices Kernel: Remove declarations for non-existent methods 2023-01-27 20:33:18 +00:00
FileSystem Kernel+SystemServer+Base: Introduce the RAMFS filesystem 2023-02-04 15:32:45 -07:00
Firmware Kernel/PCI: Hold a reference to DeviceIdentifier in the Device class 2023-01-26 23:04:26 +01:00
Graphics Kernel/Graphics: Export DDC I2C address definition to global header file 2023-02-02 02:10:33 -07:00
Heap Kernel+LibC: Move name length constants to Kernel/API from limits.h 2023-01-21 10:43:59 -07:00
Interrupts Kernel: Reorganize Arch/x86 directory to Arch/x86_64 after i686 removal 2022-12-28 11:53:41 +01:00
Library Kernel: Move ScopedCritical.cpp to Kernel base directory 2022-12-29 19:32:20 -07:00
Locking Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
Memory AK: Remove try_ prefix from FixedArray creation functions 2023-01-28 22:41:36 +01:00
Net Kernel: Remove declarations for non-existent methods 2023-01-27 20:33:18 +00:00
Prekernel Kernel: Unify x86-64 assembly snippets naming for RDSEED & RDRAND 2023-01-25 23:17:36 +01:00
Storage Kernel: Remove declarations for non-existent methods 2023-01-27 20:33:18 +00:00
Syscalls Kernel+SystemServer+Base: Introduce the RAMFS filesystem 2023-02-04 15:32:45 -07:00
Tasks Kernel: Make self-contained locking smart pointers their own classes 2022-08-20 17:20:43 +02:00
Time Kernel: Remove declarations for non-existent methods 2023-01-27 20:33:18 +00:00
TTY Kernel: Remove declarations for non-existent methods 2023-01-27 20:33:18 +00:00
AddressSanitizer.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
AddressSanitizer.h Everywhere: Use bgianf@serenityos.org for my copyright attribution 2021-04-22 21:15:54 +02:00
Assertions.h Kernel: Replace VERIFY_NOT_REACHED with TODO_AARCH64 2022-10-16 17:35:37 +02:00
AtomicEdgeAction.h Kernel: Add per platform Processor.h headers 2021-10-14 01:23:08 +01:00
BootInfo.h Kernel: Move Memory/PageDirectory.{cpp,h} to arch-specific directory 2023-01-27 11:41:43 +01:00
CMakeLists.txt Kernel+SystemServer+Base: Introduce the RAMFS filesystem 2023-02-04 15:32:45 -07:00
CommandLine.cpp Kernel: Make i8042 controller initialization sequence more robust 2023-01-06 11:09:56 +01:00
CommandLine.h Kernel: Remove declarations for non-existent methods 2023-01-27 20:33:18 +00:00
Coredump.cpp Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
Coredump.h Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
Credentials.cpp AK: Remove try_ prefix from FixedArray creation functions 2023-01-28 22:41:36 +01:00
Credentials.h Kernel: Add sid and pgid to Credentials 2023-01-03 18:13:11 +01:00
Debug.h.in Kernel: Remove the NE2000 PCI network adapter driver 2023-01-08 21:51:59 +01:00
DoubleBuffer.cpp Kernel: Move InterruptDisabler out of Arch directory 2022-10-17 20:11:31 +02:00
DoubleBuffer.h Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
embedmap.sh Kernel: Make new kernel build process work on macOS 2021-07-15 11:04:30 +02:00
ExecutionMode.h Kernel: Factor our PreviousMode into RegisterState::previous_mode 2023-01-27 11:41:43 +01:00
Forward.h Kernel+SystemServer+Base: Introduce the RAMFS filesystem 2023-02-04 15:32:45 -07:00
FutexQueue.cpp Kernel: Propagate OOM conditions out of sys$futex 2022-07-21 16:39:22 +02:00
FutexQueue.h AK+Kernel: Add AK::AtomicRefCounted and use everywhere in the kernel 2022-08-20 17:15:52 +02:00
generate-version-file.sh Kernel: Bake version information into the Kernel 2022-10-14 13:45:33 +02:00
InterruptDisabler.h Kernel: Move InterruptDisabler out of Arch directory 2022-10-17 20:11:31 +02:00
IOWindow.cpp Kernel/PCI: Hold a reference to DeviceIdentifier in the Device class 2023-01-26 23:04:26 +01:00
IOWindow.h Kernel: Remove declarations for non-existent methods 2023-01-27 20:33:18 +00:00
Jail.cpp Kernel: Add support for jails 2022-11-05 18:00:58 -06:00
Jail.h Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
JailManagement.cpp Kernel: Mark Process::jail() method as const 2023-01-07 03:44:59 +03:30
JailManagement.h Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
KBuffer.h Everywhere: Remove string.h include from AK/Traits.h and resolve fallout 2023-01-21 10:43:59 -07:00
KBufferBuilder.cpp Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
KBufferBuilder.h AK: Add support for "debug only" formatters 2023-01-13 21:09:26 +00:00
KLexicalPath.cpp Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
KLexicalPath.h Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
kprintf.cpp Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
kstdio.h Kernel: Don't blindly compile Bochs debug output code in ConsoleDevice 2022-09-20 18:43:05 +01:00
KString.cpp Kernel: Add an error propagating KString::format(..) API :^) 2021-11-30 11:16:35 +01:00
KString.h AK: Add support for "debug only" formatters 2023-01-13 21:09:26 +00:00
KSyms.cpp Kernel: Add ability to dump backtrace from provided frame pointer 2022-10-01 14:09:01 +02:00
KSyms.h Kernel: Add ability to dump backtrace from provided frame pointer 2022-10-01 14:09:01 +02:00
MiniStdLib.cpp Kernel: Remove i686 support 2022-12-28 11:53:41 +01:00
mkmap.sh Kernel: Use the toolchain's nm in mkmap.sh 2021-12-30 18:10:51 +01:00
Multiboot.h Kernel: Add basic aarch64 support to MemoryManager 2022-09-12 00:56:44 +01:00
Panic.cpp Kernel: Reorganize Arch/x86 directory to Arch/x86_64 after i686 removal 2022-12-28 11:53:41 +01:00
Panic.h Kernel: Implement __panic() for the aarch64 Kernel 2022-05-03 21:53:36 +02:00
PerformanceEventBuffer.cpp Kernel: Don't wrap AddressSpace's RegionTree in SpinlockProtected 2022-08-24 14:57:51 +02:00
PerformanceEventBuffer.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
PerformanceManager.h Everywhere: Remove some redundant inline keywords 2023-01-04 20:04:57 +01:00
PhysicalAddress.h Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
Process.cpp Kernel: Change the way we call a syscall in signal_trampoline_dummy 2023-02-02 01:52:52 -07:00
Process.h Kernel/FileSystem: Simplify the ProcFS inode code 2023-01-29 12:59:30 +01:00
ProcessExposed.cpp Kernel/FileSystem: Simplify the ProcFS inode code 2023-01-29 12:59:30 +01:00
ProcessExposed.h Kernel/FileSystem: Simplify the ProcFS inode code 2023-01-29 12:59:30 +01:00
ProcessGroup.cpp Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
ProcessGroup.h Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
ProcessProcFSTraits.cpp Kernel/FileSystem: Simplify the ProcFS inode code 2023-01-29 12:59:30 +01:00
ProcessSpecificExposed.cpp Kernel/FileSystem: Simplify the ProcFS inode code 2023-01-29 12:59:30 +01:00
Random.cpp Kernel: Use RDSEED assembly snippet to seed RNG on Aarch64 2023-01-25 23:17:36 +01:00
Random.h Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
SanCov.cpp Kernel: Add some implied auto qualifiers 2021-12-30 14:32:17 +01:00
Scheduler.cpp Kernel: Factor our PreviousMode into RegisterState::previous_mode 2023-01-27 11:41:43 +01:00
Scheduler.h Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
ScopedCritical.cpp Kernel: Move ScopedCritical.cpp to Kernel base directory 2022-12-29 19:32:20 -07:00
ScopedCritical.h Kernel: Move ScopedCritical.cpp to Kernel base directory 2022-12-29 19:32:20 -07:00
Sections.h Kernel/aarch64: Change base address of the kernel to 0x2000000000 2023-01-24 14:54:44 +00:00
StdLib.cpp Everywhere: Run clang-format 2022-12-03 23:52:23 +00:00
StdLib.h Everywhere: Remove string.h include from AK/Traits.h and resolve fallout 2023-01-21 10:43:59 -07:00
Syscall.cpp Kernel: Remove trap based syscall handling 2023-02-02 01:52:52 -07:00
Thread.cpp Kernel: Move Memory/PageDirectory.{cpp,h} to arch-specific directory 2023-01-27 11:41:43 +01:00
Thread.h Kernel: Factor our PreviousMode into RegisterState::previous_mode 2023-01-27 11:41:43 +01:00
ThreadBlockers.cpp Kernel: Use InterruptsState in Spinlock code 2022-08-26 12:51:57 +02:00
ThreadTracer.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
ThreadTracer.h Kernel+Userland: Remove dependency on i386-specific registers 2022-12-28 11:53:41 +01:00
TimerQueue.cpp Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
TimerQueue.h Kernel: Make self-contained locking smart pointers their own classes 2022-08-20 17:20:43 +02:00
UBSanitizer.cpp Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
UnixTypes.h Kernel: Add support for SA_SIGINFO 2022-03-04 20:07:05 +01:00
UserOrKernelBuffer.cpp Kernel: Replace KResult and KResultOr<T> with Error and ErrorOr<T> 2021-11-08 01:10:53 +01:00
UserOrKernelBuffer.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
VirtualAddress.h Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
WaitQueue.cpp Kernel: Don't register thread as custom data for WaitQueueBlocker 2021-08-24 01:57:11 +02:00
WaitQueue.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
WorkQueue.cpp Kernel: Make self-contained locking smart pointers their own classes 2022-08-20 17:20:43 +02:00
WorkQueue.h Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00