summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc
diff options
context:
space:
mode:
Diffstat (limited to 'dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc')
-rw-r--r--dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc14
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";
}