summaryrefslogtreecommitdiffhomepage
path: root/Kernel/Sources/KeMain.cxx
diff options
context:
space:
mode:
authorAmlal EL Mahrouss <amlal@softwarelabs.com>2024-06-14 09:58:11 +0200
committerAmlal EL Mahrouss <amlal@softwarelabs.com>2024-06-14 09:58:11 +0200
commitdd7b72379108c10cd68853d2a8a0332784ebb8cb (patch)
tree0b057b7a0aeebb68967c4fc2caf56a39eddbb8fe /Kernel/Sources/KeMain.cxx
parent479ee6ad453401f5ae7f46d3d91136753f0839e7 (diff)
Kernel: Scheduler: ProcessHeader::New: do not get the pointer before allocating it!
Kernel: HAL: AMD64: Two things. - Switching to an ARM HAL for our Zeta platform. - Fix return register when sending acknowledge on APIC, which was using the 32-bit eax instead of rax. Kernel: Boot: Update uname for Windows. Kernel: GDT: move as global (HalKenelMain.cxx) Signed-off-by: Amlal EL Mahrouss <amlal@softwarelabs.com>
Diffstat (limited to 'Kernel/Sources/KeMain.cxx')
-rw-r--r--Kernel/Sources/KeMain.cxx11
1 files changed, 9 insertions, 2 deletions
diff --git a/Kernel/Sources/KeMain.cxx b/Kernel/Sources/KeMain.cxx
index 58c76dc4..23e32c1d 100644
--- a/Kernel/Sources/KeMain.cxx
+++ b/Kernel/Sources/KeMain.cxx
@@ -203,8 +203,6 @@ namespace NewOS::Detail
NewOS::Utils::execute_from_image(stageBoard,
NewOS::ProcessHeader::kAppKind);
-
- /// TODO: now jump to user mode using the HAL.
}
} // namespace NewOS::Detail
@@ -217,4 +215,13 @@ EXTERN_C NewOS::Void KeMain(NewOS::Void)
NewOS::Detail::FilesystemWizard wizard; // automatic.
NewOS::Detail::SystemLauncher_Main();
+
+ // fetch system cores.
+ NewOS::HAL::hal_system_get_cores(kHandoverHeader->f_HardwareTables.f_RsdPtr);
+
+ while (true)
+ {
+ // start scheduling.
+ NewOS::ProcessHelper::StartScheduling();
+ }
}