diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-11-22 09:31:21 -0500 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-11-22 09:32:01 -0500 |
| commit | ab37adbacf0f33845804c788b39680cd754752a8 (patch) | |
| tree | a533c6f0256d3067ed0e050dae59a54a6f37342b /dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc | |
| parent | efefa7221a3fea3636a64f2bf067e2af75626f34 (diff) | |
fix: kernel: Important kernel fixes for SMP. Adding 'NeKernel' process as well.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc')
| -rw-r--r-- | dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc b/dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc index 8957ca8f..5a530457 100644 --- a/dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc +++ b/dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc @@ -116,14 +116,13 @@ EXTERN_C HAL::StackFramePtr mp_get_current_task(ThreadID thrdid) { EXTERN_C BOOL mp_register_task(HAL::StackFramePtr stack_frame, ThreadID thrdid) { if (!stack_frame) return NO; - if (thrdid > kSMPCount) return NO; - if (!kSMPAware) { sched_jump_to_task(kHWThread[thrdid].mFramePtr); - return YES; } + if (thrdid > kSMPCount) return NO; + HardwareThreadScheduler::The()[thrdid].Leak()->Busy(NO); kHWThread[thrdid].mFramePtr = stack_frame; @@ -146,12 +145,6 @@ Bool mp_is_smp(Void) noexcept { Void mp_init_cores(VoidPtr vendor_ptr) noexcept { if (!vendor_ptr) return; - if (!kHandoverHeader) return; - - if (!kHandoverHeader->f_HardwareTables.f_MultiProcessingEnabled) { - kSMPAware = NO; - return; - } PowerFactoryInterface hw_and_pow_int{vendor_ptr}; @@ -210,9 +203,6 @@ Void mp_init_cores(VoidPtr vendor_ptr) noexcept { ++kSMPCount; kout << "AP: kind: LAPIC: ON.\r"; - - // 0x7c00, as recommended by the Intel SDM. - hal_send_ipi_msg(kApicBaseAddress, entry_struct->ProcessorID, 0x7c); } else { kout << "AP: kind: LAPIC: OFF.\r"; } |
