summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/HALKit/AMD64/HalKernelMain.cc
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-05-15 18:42:59 +0200
committerAmlal El Mahrouss <amlal@nekernel.org>2025-05-15 18:42:59 +0200
commitd126ebf73370fbc64913aa6ff19db56a39f625b2 (patch)
treedb66ede0635b1a6a5f13b8f7e161b68ed631226b /dev/kernel/HALKit/AMD64/HalKernelMain.cc
parent6a30f42d5dcd0f944262147b2806db6c14fe7ffc (diff)
feat(kernel): pushing the fixes regarding the scheduler, and working on
making the LAPIC work correctly. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/kernel/HALKit/AMD64/HalKernelMain.cc')
-rw-r--r--dev/kernel/HALKit/AMD64/HalKernelMain.cc31
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)
;
}