diff options
Diffstat (limited to 'dev/kernel/HALKit/AMD64/HalKernelMain.cc')
| -rw-r--r-- | dev/kernel/HALKit/AMD64/HalKernelMain.cc | 31 |
1 files changed, 14 insertions, 17 deletions
diff --git a/dev/kernel/HALKit/AMD64/HalKernelMain.cc b/dev/kernel/HALKit/AMD64/HalKernelMain.cc index b0ac076d..a535b4ac 100644 --- a/dev/kernel/HALKit/AMD64/HalKernelMain.cc +++ b/dev/kernel/HALKit/AMD64/HalKernelMain.cc @@ -103,14 +103,22 @@ EXTERN_C Int32 hal_init_platform(Kernel::HEL::BootInfoHeader* handover_hdr) { return kEfiFail; } -EXTERN_C Kernel::Void rtl_ne_task(Kernel::Void) { - kout << "Hello, world!\r"; - dbg_break_point(); -} - -EXTERN_C void idt_handle_scheduler(Kernel::UIntPtr rsp); +EXTERN_C void rtl_ne_task(void); EXTERN_C Kernel::Void hal_real_init(Kernel::Void) noexcept { + Kernel::rtl_create_user_process(rtl_ne_task, "NeTask"); + Kernel::rtl_create_user_process(rtl_ne_task, "NeTask#2"); + Kernel::rtl_create_user_process(rtl_ne_task, "NeTask#3"); + + Kernel::HAL::Register64 idt_reg; + idt_reg.Base = reinterpret_cast<Kernel::UIntPtr>(kInterruptVectorTable); + + Kernel::HAL::IDTLoader idt_loader; + + idt_loader.Load(idt_reg); + + Kernel::HAL::mp_init_cores(kHandoverHeader->f_HardwareTables.f_VendorPtr); + #ifdef __FSKIT_INCLUDES_HEFS__ if (!Kernel::HeFS::fs_init_hefs()) { // Fallback to NeFS, if HeFS doesn't work here. @@ -123,17 +131,6 @@ EXTERN_C Kernel::Void hal_real_init(Kernel::Void) noexcept { } #endif - Kernel::rtl_create_user_process(rtl_ne_task, "NeTask"); - - Kernel::HAL::mp_init_cores(kHandoverHeader->f_HardwareTables.f_VendorPtr); - - Kernel::HAL::Register64 idt_reg; - idt_reg.Base = reinterpret_cast<Kernel::UIntPtr>(kInterruptVectorTable); - - Kernel::HAL::IDTLoader idt_loader; - - idt_loader.Load(idt_reg); - while (YES) ; } |
