diff options
Diffstat (limited to 'src/kernel/cpumgr.C')
-rw-r--r-- | src/kernel/cpumgr.C | 6 |
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) |