diff options
Diffstat (limited to 'src/kernel/misc.C')
-rw-r--r-- | src/kernel/misc.C | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/kernel/misc.C b/src/kernel/misc.C index 3754003d0..9b2872f04 100644 --- a/src/kernel/misc.C +++ b/src/kernel/misc.C @@ -162,7 +162,7 @@ namespace KernelMisc task_t* saveArea = new task_t; memset(saveArea, '\0', sizeof(task_t)); saveArea->context.msr_mask = 0xC030; // EE, PR, IR, DR. - *(reinterpret_cast<task_t**>(cpu->kernel_stack)) = saveArea; + *(reinterpret_cast<task_t**>(cpu->kernel_stack_bottom)) = saveArea; // Execute winkle. kernel_execute_winkle(saveArea); @@ -190,6 +190,7 @@ namespace KernelMisc setTB(iv_timebase); // Restore caller of cpu_master_winkle(). + iv_caller->state = TASK_STATE_RUNNING; TaskManager::setCurrentTask(iv_caller); } |