diff options
author | Andreas Kling <kling@serenityos.org> | 2022-04-03 13:28:16 +0200 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2022-04-03 21:51:58 +0200 |
commit | e8f543c3908bad1c79e77d2eff1aebef461cd6b8 (patch) | |
tree | 57060dbb4244e0b7499850eb3d11ec933f1d7d92 /Kernel/Memory/PageDirectory.h | |
parent | ffe2e77eba1a8331a3f56488e3966e315502aba1 (diff) | |
download | serenity-e8f543c3908bad1c79e77d2eff1aebef461cd6b8.zip |
Kernel: Use intrusive RegionTree solution for kernel regions as well
This patch ports MemoryManager to RegionTree as well. The biggest
difference between this and the userspace code is that kernel regions
are owned by extant OwnPtr<Region> objects spread around the kernel,
while userspace regions are owned by the AddressSpace itself.
For kernelspace, there are a couple of situations where we need to make
large VM reservations that never get backed by regular VMObjects
(for example the kernel image reservation, or the big kmalloc range.)
Since we can't make a VM reservation without a Region object anymore,
this patch adds a way to create unbacked Region objects that can be
used for this exact purpose. They have no internal VMObject.)
Diffstat (limited to 'Kernel/Memory/PageDirectory.h')
-rw-r--r-- | Kernel/Memory/PageDirectory.h | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/Kernel/Memory/PageDirectory.h b/Kernel/Memory/PageDirectory.h index 5bad876153..2e09106e0b 100644 --- a/Kernel/Memory/PageDirectory.h +++ b/Kernel/Memory/PageDirectory.h @@ -13,7 +13,6 @@ #include <AK/RefPtr.h> #include <Kernel/Forward.h> #include <Kernel/Memory/PhysicalPage.h> -#include <Kernel/Memory/VirtualRangeAllocator.h> namespace Kernel::Memory { @@ -47,9 +46,6 @@ public: #endif } - VirtualRangeAllocator& range_allocator() { return m_range_allocator; } - VirtualRangeAllocator const& range_allocator() const { return m_range_allocator; } - AddressSpace* address_space() { return m_space; } AddressSpace const* address_space() const { return m_space; } @@ -66,7 +62,6 @@ private: static void deregister_page_directory(PageDirectory* directory); AddressSpace* m_space { nullptr }; - VirtualRangeAllocator m_range_allocator; #if ARCH(X86_64) RefPtr<PhysicalPage> m_pml4t; #endif |