diff --git a/kernel/src/arch/x86_64/MMU.cpp b/kernel/src/arch/x86_64/MMU.cpp index 2f85f238..0e04332b 100644 --- a/kernel/src/arch/x86_64/MMU.cpp +++ b/kernel/src/arch/x86_64/MMU.cpp @@ -288,7 +288,8 @@ namespace MMU constexpr auto HALF_PAGE = ARCH_PAGE_SIZE / 2; // Copy the upper part of the page directory (higher half) - memcpy(offset_ptr(directory, HALF_PAGE), offset_ptr(g_kernel_directory, HALF_PAGE), HALF_PAGE); + memcpy(offset_ptr(directory, HALF_PAGE), offset_ptr((PageDirectory*)g_kernel_directory_virt, HALF_PAGE), + HALF_PAGE); kdbgln("MMU init page directory (ring3): virt %p, phys %#.16lx", directory, directory_phys);