diff --git a/Kernel/Arch/aarch64/Dummy.cpp b/Kernel/Arch/aarch64/Dummy.cpp index 90a0b79c62..a5ff1870de 100644 --- a/Kernel/Arch/aarch64/Dummy.cpp +++ b/Kernel/Arch/aarch64/Dummy.cpp @@ -148,26 +148,6 @@ READONLY_AFTER_INIT u8 multiboot_framebuffer_bpp; READONLY_AFTER_INIT u8 multiboot_framebuffer_type; } -namespace Kernel { - -// KString.cpp -ErrorOr> KString::try_create_uninitialized(size_t, char*&) -{ - VERIFY_NOT_REACHED(); - return ENOMEM; -} -ErrorOr> KString::try_create(StringView) -{ - VERIFY_NOT_REACHED(); - return ENOMEM; -} -void KString::operator delete(void*) -{ - VERIFY_NOT_REACHED(); -} - -} - extern "C" { FlatPtr kernel_mapping_base; } diff --git a/Kernel/Arch/aarch64/init.cpp b/Kernel/Arch/aarch64/init.cpp index 345610f406..90fdd1928e 100644 --- a/Kernel/Arch/aarch64/init.cpp +++ b/Kernel/Arch/aarch64/init.cpp @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -68,6 +69,8 @@ void __stack_chk_fail() Kernel::Processor::halt(); } +READONLY_AFTER_INIT bool g_in_early_boot; + namespace Kernel { static void draw_logo(); @@ -86,11 +89,15 @@ Atomic g_boot_console; extern "C" [[noreturn]] void init() { + g_in_early_boot = true; + dbgln("Welcome to Serenity OS!"); dbgln("Imagine this being your ideal operating system."); dbgln("Observed deviations from that ideal are shortcomings of your imagination."); dbgln(); + CommandLine::early_initialize(""); + new (&bootstrap_processor()) Processor(); bootstrap_processor().initialize(0); @@ -103,6 +110,8 @@ extern "C" [[noreturn]] void init() load_kernel_symbol_table(); + CommandLine::initialize(); + auto& framebuffer = RPi::Framebuffer::the(); if (framebuffer.initialized()) { g_boot_console = &try_make_lock_ref_counted(framebuffer.gpu_buffer(), framebuffer.width(), framebuffer.width(), framebuffer.pitch()).value().leak_ref(); diff --git a/Kernel/CMakeLists.txt b/Kernel/CMakeLists.txt index 6ee9bbc1a2..ca3d5528f0 100644 --- a/Kernel/CMakeLists.txt +++ b/Kernel/CMakeLists.txt @@ -468,6 +468,8 @@ else() Arch/aarch64/vector_table.S # Files from base Kernel + CommandLine.cpp + KString.cpp KSyms.cpp MiniStdLib.cpp UBSanitizer.cpp