diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-05-18 20:00:25 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-05-18 20:00:25 +0200 |
| commit | ce71265ae5bd333c309dff8c2d46e4d52dd78066 (patch) | |
| tree | 0154d9c9aa7bd583d86e9a3a8151c8339fad5f46 /dev/kernel/HALKit/AMD64/HalKernelMain.cc | |
| parent | 0266d8058990a496b935abd76417abcfe4e9cffd (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.cc | 24 |
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); |
