summaryrefslogtreecommitdiffstats
path: root/src/kernel/cpumgr.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel/cpumgr.C')
-rw-r--r--src/kernel/cpumgr.C6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/kernel/cpumgr.C b/src/kernel/cpumgr.C
index 48bf4a5e8..943ef48fd 100644
--- a/src/kernel/cpumgr.C
+++ b/src/kernel/cpumgr.C
@@ -161,9 +161,15 @@ void CpuManager::startSlaveCPU(cpu_t* cpu)
void CpuManager::activateCPU(cpu_t * i_cpu)
{
+ // Set active.
i_cpu->active = true;
__sync_add_and_fetch(&cv_cpuCount, 1);
lwsync();
+
+ // Verify / set SPRs.
+ uint64_t msr = getMSR();
+ kassert(WAKEUP_MSR_VALUE == msr);
+ setLPCR(WAKEUP_LPCR_VALUE);
}
void CpuManager::executePeriodics(cpu_t * i_cpu)
OpenPOWER on IntegriCloud