summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'dev/kernel')
-rw-r--r--dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc b/dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc
index fe3ee89b..1fbf9fea 100644
--- a/dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc
+++ b/dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc
@@ -114,12 +114,15 @@ EXTERN_C HAL::StackFramePtr mp_get_current_task(Int64 thrdid) {
EXTERN_C BOOL mp_register_task(HAL::StackFramePtr stack_frame, ProcessID thrdid) {
if (thrdid > kSMPCount) return NO;
+ if (!stack_frame) return NO;
kHWThread[thrdid].mFramePtr = stack_frame;
kHWThread[thrdid].mThreadID = thrdid;
HardwareThreadScheduler::The()[thrdid].Leak()->Busy(NO);
+ sched_jump_to_task(kHWThread[thrdid].mFramePtr);
+
return YES;
}