1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 19:37:35 +00:00

Kernel: Make MemoryManager compile on aarch64

This commit is contained in:
James Mintram 2022-04-02 23:56:20 +01:00 committed by Brian Gianforcaro
parent 6299a69253
commit d79c772c87
10 changed files with 119 additions and 22 deletions

View file

@ -23,7 +23,7 @@ class PageDirectory : public RefCounted<PageDirectory> {
public:
static ErrorOr<NonnullRefPtr<PageDirectory>> try_create_for_userspace(VirtualRangeAllocator const* parent_range_allocator = nullptr);
static NonnullRefPtr<PageDirectory> must_create_kernel_page_directory();
static RefPtr<PageDirectory> find_by_cr3(FlatPtr);
static RefPtr<PageDirectory> find_current();
~PageDirectory();
@ -62,6 +62,8 @@ public:
private:
PageDirectory();
static void register_page_directory(PageDirectory* directory);
static void deregister_page_directory(PageDirectory* directory);
AddressSpace* m_space { nullptr };
VirtualRangeAllocator m_range_allocator;
@ -77,4 +79,7 @@ private:
RecursiveSpinlock m_lock;
};
void activate_kernel_page_directory(PageDirectory const& pgd);
void activate_page_directory(PageDirectory const& pgd, Thread* current_thread);
}