Browse Source

Kernel: Only unmap prekernel on x86_64

Other arches don't use the prekernel, so don't try to unmap it on
non-x86 platforms.
For some reason, this didn't cause aarch64 to crash, but on riscv64 this
would cause a panic.
Sönke Holz 1 year ago
parent
commit
173a085e48
1 changed files with 1 additions and 1 deletions
  1. 1 1
      Kernel/Arch/init.cpp

+ 1 - 1
Kernel/Arch/init.cpp

@@ -267,9 +267,9 @@ extern "C" [[noreturn]] UNMAP_AFTER_INIT void init([[maybe_unused]] BootInfo con
     }
     }
     dmesgln("Starting SerenityOS...");
     dmesgln("Starting SerenityOS...");
 
 
+#if ARCH(X86_64)
     MM.unmap_prekernel();
     MM.unmap_prekernel();
 
 
-#if ARCH(X86_64)
     // Ensure that the safemem sections are not empty. This could happen if the linker accidentally discards the sections.
     // Ensure that the safemem sections are not empty. This could happen if the linker accidentally discards the sections.
     VERIFY(+start_of_safemem_text != +end_of_safemem_text);
     VERIFY(+start_of_safemem_text != +end_of_safemem_text);
     VERIFY(+start_of_safemem_atomic_text != +end_of_safemem_atomic_text);
     VERIFY(+start_of_safemem_atomic_text != +end_of_safemem_atomic_text);