From c9d026d7bc580f618d113daf17cb70399e09e11c Mon Sep 17 00:00:00 2001 From: Idan Horowitz Date: Tue, 25 Jan 2022 20:45:38 +0200 Subject: [PATCH] Kernel: Perform DeviceManagement initialization after MM is initialized There's no need to perform it this early, and until the MemoryManager is initialized we have very limited kmalloc capacity, so let's try and keep anything that's not required to be there out of there. --- Kernel/init.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Kernel/init.cpp b/Kernel/init.cpp index 9895895721..0903990386 100644 --- a/Kernel/init.cpp +++ b/Kernel/init.cpp @@ -182,15 +182,16 @@ extern "C" [[noreturn]] UNMAP_AFTER_INIT void init(BootInfo const& boot_info) load_kernel_symbol_table(); + s_bsp_processor.initialize(0); + + CommandLine::initialize(); + Memory::MemoryManager::initialize(0); + DeviceManagement::initialize(); SysFSComponentRegistry::initialize(); DeviceManagement::the().attach_null_device(*NullDevice::must_initialize()); DeviceManagement::the().attach_console_device(*ConsoleDevice::must_create()); DeviceManagement::the().attach_device_control_device(*DeviceControlDevice::must_create()); - s_bsp_processor.initialize(0); - - CommandLine::initialize(); - Memory::MemoryManager::initialize(0); MM.unmap_prekernel();