summaryrefslogtreecommitdiffstats
path: root/src/kernel/misc.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel/misc.C')
-rw-r--r--src/kernel/misc.C8
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);
OpenPOWER on IntegriCloud