serenity/Kernel
Andreas Kling 07f3d09c55 Kernel: Make VM allocation atomic for userspace regions
This patch move AddressSpace (the per-process memory manager) to using
the new atomic "place" APIs in RegionTree as well, just like we did for
MemoryManager in the previous commit.

This required updating quite a few places where VM allocation and
actually committing a Region object to the AddressSpace were separated
by other code.

All you have to do now is call into AddressSpace once and it'll take
care of everything for you.
2022-04-03 21:51:58 +02:00
..
API Kernel: Implement f_basetype in statvfs 2022-04-03 19:15:14 +02:00
Arch Kernel: Add all memory files to aarch64 and fix resulting linker errors 2022-04-02 19:34:20 -07:00
Bus Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Devices Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
FileSystem Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Firmware Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Graphics Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Heap Kernel: Use intrusive RegionTree solution for kernel regions as well 2022-04-03 21:51:58 +02:00
Interrupts Kernel: Make VM allocation atomic for userspace regions 2022-04-03 21:51:58 +02:00
Library Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Locking Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Memory Kernel: Make VM allocation atomic for userspace regions 2022-04-03 21:51:58 +02:00
Net Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Prekernel Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Storage Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Syscalls Kernel: Make VM allocation atomic for userspace regions 2022-04-03 21:51:58 +02:00
Tasks Kernel: Remove unnecessary includes from Thread.h 2022-01-30 16:21:59 +01:00
Time Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
TTY Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
AddressSanitizer.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
AddressSanitizer.h
Assertions.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
AtomicEdgeAction.h
BootInfo.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
CMakeLists.txt Kernel: Use intrusive RegionTree solution for kernel regions as well 2022-04-03 21:51:58 +02:00
CMOS.cpp
CMOS.h
CommandLine.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
CommandLine.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Coredump.cpp Kernel: Store AddressSpace memory regions in an IntrusiveRedBlackTree 2022-04-03 21:51:58 +02:00
Coredump.h
Debug.h.in Kernel: Stop debug spam when using mmap on /dev/mem device 2022-04-01 19:59:45 +02:00
DoubleBuffer.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
DoubleBuffer.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
embedmap.sh
Forward.h Kernel: Use intrusive RegionTree solution for kernel regions as well 2022-04-03 21:51:58 +02:00
FutexQueue.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
FutexQueue.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
GlobalProcessExposed.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
init.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
KBuffer.h Kernel: Propagate overflow errors from Memory::page_round_up 2021-12-28 23:08:50 +01:00
KBufferBuilder.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
KBufferBuilder.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
KLexicalPath.cpp
KLexicalPath.h
kprintf.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
kstdio.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
KString.cpp Kernel: Add an error propagating KString::format(..) API :^) 2021-11-30 11:16:35 +01:00
KString.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
KSyms.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
KSyms.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
MiniStdLib.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
mkmap.sh Kernel: Use the toolchain's nm in mkmap.sh 2021-12-30 18:10:51 +01:00
Multiboot.h Kernel: Only use multiboot framebuffer details if present 2022-01-06 22:34:11 +01:00
Panic.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Panic.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
PerformanceEventBuffer.cpp Kernel: Store AddressSpace memory regions in an IntrusiveRedBlackTree 2022-04-03 21:51:58 +02:00
PerformanceEventBuffer.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
PerformanceManager.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
PhysicalAddress.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Process.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Process.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
ProcessExposed.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
ProcessExposed.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
ProcessGroup.cpp
ProcessGroup.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
ProcessProcFSTraits.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
ProcessSpecificExposed.cpp Kernel: Store AddressSpace memory regions in an IntrusiveRedBlackTree 2022-04-03 21:51:58 +02:00
Random.cpp Kernel: Make KernelRng not inherit from Lockable 2021-12-26 21:22:59 +01:00
Random.h Kernel: Make PhysicalRegion.cpp compile on aarch64 2022-04-02 19:34:20 -07:00
RTC.cpp Everywhere: Fix many spelling errors 2022-01-07 10:56:59 +01:00
RTC.h
SanCov.cpp Kernel: Add some implied auto qualifiers 2021-12-30 14:32:17 +01:00
Scheduler.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Scheduler.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Sections.h Kernel: Use the whole kernel PD range when randomizing the KASLR offset 2022-03-23 19:49:49 +02:00
StdLib.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
StdLib.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Syscall.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Thread.cpp Kernel: Make VM allocation atomic for userspace regions 2022-04-03 21:51:58 +02:00
Thread.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
ThreadBlockers.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
ThreadTracer.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
ThreadTracer.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
TimerQueue.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
TimerQueue.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
UBSanitizer.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
UnixTypes.h Kernel: Add support for SA_SIGINFO 2022-03-04 20:07:05 +01:00
UserOrKernelBuffer.cpp
UserOrKernelBuffer.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
VirtualAddress.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
WaitQueue.cpp
WaitQueue.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
WorkQueue.cpp Kernel: Mark kernel smart-pointer classes as [[nodiscard]] 2021-12-05 15:31:03 +01:00
WorkQueue.h Kernel: Add missing includes in ThreadTracer and WorkQueue 2021-12-30 14:32:17 +01:00