diff options
Diffstat (limited to 'src/kernel/misc.C')
-rw-r--r-- | src/kernel/misc.C | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/kernel/misc.C b/src/kernel/misc.C index 9e19674ad..2cd8a48aa 100644 --- a/src/kernel/misc.C +++ b/src/kernel/misc.C @@ -213,6 +213,10 @@ namespace KernelMisc // Restore timebase. setTB(iv_timebase); + // Restore memory state register. + updateScratchReg(MMIO_SCRATCH_MEMORY_STATE, + kernel_hbDescriptor.kernelMemoryState); + // Restore caller of cpu_master_winkle(). iv_caller->state = TASK_STATE_RUNNING; TaskManager::setCurrentTask(iv_caller); @@ -305,6 +309,10 @@ namespace KernelMisc { printk("Awake!\n"); + // Restore memory state register. + updateScratchReg(MMIO_SCRATCH_MEMORY_STATE, + kernel_hbDescriptor.kernelMemoryState); + // Restore caller of cpu_all_winkle(). iv_caller->state = TASK_STATE_RUNNING; TaskManager::setCurrentTask(iv_caller); |