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

Kernel: Move Memory/PageDirectory.{cpp,h} to arch-specific directory

The handling of page tables is very architecture specific, so belongs
in the Arch directory. Some parts were already architecture-specific,
however this commit moves the rest of the PageDirectory class into the
Arch directory.

While we're here the aarch64/PageDirectory.{h,cpp} files are updated to
be aarch64 specific, by renaming some members and removing x86_64
specific code.
This commit is contained in:
Timon Kruiper 2023-01-19 22:36:48 +01:00 committed by Andreas Kling
parent 55d756a813
commit 697c5ca5e5
23 changed files with 304 additions and 228 deletions

View file

@ -27,7 +27,7 @@ extern "C" [[noreturn]] void pre_init()
initialize_exceptions();
// Next step is to set up page tables and enable the MMU.
init_page_tables();
Memory::init_page_tables();
// At this point the MMU is enabled, physical memory is identity mapped,
// and the kernel is also mapped into higher virtual memory. However we are still executing
@ -49,7 +49,7 @@ extern "C" [[noreturn]] void pre_init()
: "x0");
// We can now unmap the identity map as everything is running in high virtual memory at this point.
unmap_identity_map();
Memory::unmap_identity_map();
// Clear the frame pointer (x29) and link register (x30) to make sure the kernel cannot backtrace
// into this code, and jump to actual init function in the kernel.