diff options
author | Gunnar Beutner <gbeutner@serenityos.org> | 2021-07-20 12:48:14 +0200 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2021-07-20 15:12:19 +0200 |
commit | 4fdee56ba35b7d42ed8f729ec60ebbec86adbf5f (patch) | |
tree | ab6097776e41e222bd398bb983759367029f8443 /Kernel/Prekernel | |
parent | 05fc75f9942462d76b4f9bbaa5e004ed36091f2e (diff) | |
download | serenity-4fdee56ba35b7d42ed8f729ec60ebbec86adbf5f.zip |
Prekernel: Make sure to reload CR3 after modifying the page tables
Diffstat (limited to 'Kernel/Prekernel')
-rw-r--r-- | Kernel/Prekernel/init.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/Kernel/Prekernel/init.cpp b/Kernel/Prekernel/init.cpp index d079b2c661..0ce057f3a5 100644 --- a/Kernel/Prekernel/init.cpp +++ b/Kernel/Prekernel/init.cpp @@ -179,6 +179,8 @@ extern "C" [[noreturn]] void init() for (FlatPtr vaddr = (FlatPtr)end_of_prekernel_image; vaddr < MAX_KERNEL_SIZE; vaddr += PAGE_SIZE) boot_pd0_pts[vaddr >> 12] = 0; + reload_cr3(); + void (*entry)(BootInfo const&) = (void (*)(BootInfo const&))kernel_elf_header.e_entry; entry(*adjust_by_load_base(&info)); |