summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/HALKit/AMD64/HalKernelMain.cc
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-05-18 20:00:25 +0200
committerAmlal El Mahrouss <amlal@nekernel.org>2025-05-18 20:00:25 +0200
commitce71265ae5bd333c309dff8c2d46e4d52dd78066 (patch)
tree0154d9c9aa7bd583d86e9a3a8151c8339fad5f46 /dev/kernel/HALKit/AMD64/HalKernelMain.cc
parent0266d8058990a496b935abd76417abcfe4e9cffd (diff)
feat(sched_desgin): better architecture for the HTS.
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.cc24
1 files changed, 15 insertions, 9 deletions
diff --git a/dev/kernel/HALKit/AMD64/HalKernelMain.cc b/dev/kernel/HALKit/AMD64/HalKernelMain.cc
index f4585835..6020da3b 100644
--- a/dev/kernel/HALKit/AMD64/HalKernelMain.cc
+++ b/dev/kernel/HALKit/AMD64/HalKernelMain.cc
@@ -104,28 +104,34 @@ EXTERN_C Int32 hal_init_platform(Kernel::HEL::BootInfoHeader* handover_hdr) {
}
EXTERN_C Kernel::Void hal_real_init(Kernel::Void) noexcept {
- Kernel::rtl_create_user_process(sched_idle_task, "MgmtSrv"); //! Mgmt command server.
- Kernel::rtl_create_user_process(sched_idle_task, "LaunchSrv"); //! launchd
- Kernel::rtl_create_user_process(sched_idle_task, "SecSrv"); //! Login Server
+ using namespace Kernel;
- Kernel::HAL::mp_init_cores(kHandoverHeader->f_HardwareTables.f_VendorPtr);
+ for (SizeT index = 0UL; index < HardwareThreadScheduler::The().Capacity(); ++index) {
+ HardwareThreadScheduler::The()[index].Leak()->Kind() = ThreadKind::kAPStandard;
+ }
+
+ rtl_create_user_process(sched_idle_task, "MgmtSrv"); //! Mgmt command server.
+ rtl_create_user_process(sched_idle_task, "LaunchSrv"); //! launchd
+ rtl_create_user_process(sched_idle_task, "SecSrv"); //! Login Server
+
+ HAL::mp_init_cores(kHandoverHeader->f_HardwareTables.f_VendorPtr);
#ifdef __FSKIT_INCLUDES_HEFS__
- if (Kernel::HeFS::fs_init_hefs()) {
+ if (HeFS::fs_init_hefs()) {
goto hal_spin_kernel;
}
#endif
- if (!Kernel::NeFS::fs_init_nefs()) {
+ if (!NeFS::fs_init_nefs()) {
kout << "NeFS cannot be formated on the disk. Aborting\r";
dbg_break_point();
}
hal_spin_kernel:
- Kernel::HAL::Register64 idt_reg;
- idt_reg.Base = reinterpret_cast<Kernel::UIntPtr>(kInterruptVectorTable);
+ HAL::Register64 idt_reg;
+ idt_reg.Base = reinterpret_cast<UIntPtr>(kInterruptVectorTable);
- Kernel::HAL::IDTLoader idt_loader;
+ HAL::IDTLoader idt_loader;
idt_loader.Load(idt_reg);