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

Kernel/aarch64: Put correct memory size in multiboot_mmap

Also enable the MMU earlier in the boot process.
This commit is contained in:
Timon Kruiper 2022-09-21 16:51:34 +02:00 committed by Andreas Kling
parent c2e410195a
commit 57b1369475

View file

@ -98,7 +98,7 @@ extern "C" [[noreturn]] void init()
multiboot_memory_map_t mmap[] = {
{ sizeof(struct multiboot_mmap_entry) - sizeof(u32),
(u64)0x0,
(u64)0xA2F000,
(u64)0x3F000000,
MULTIBOOT_MEMORY_AVAILABLE }
};
@ -115,6 +115,9 @@ extern "C" [[noreturn]] void init()
new (&bootstrap_processor()) Processor();
bootstrap_processor().initialize(0);
// We want to enable the MMU as fast as possible to make the boot faster.
init_page_tables();
// We call the constructors of kmalloc.cpp separately, because other constructors in the Kernel
// might rely on being able to call new/kmalloc in the constructor. We do have to run the
// kmalloc constructors, because kmalloc_init relies on that.
@ -134,7 +137,6 @@ extern "C" [[noreturn]] void init()
dmesgln("Starting SerenityOS...");
dmesgln("Initialize MMU");
init_page_tables();
Memory::MemoryManager::initialize(0);
DeviceManagement::initialize();