|
@@ -30,6 +30,7 @@
|
|
|
#include <asm/cputhreads.h>
|
|
|
#include <asm/xics.h>
|
|
|
#include <asm/opal.h>
|
|
|
+#include <asm/runlatch.h>
|
|
|
|
|
|
#include "powernv.h"
|
|
|
|
|
@@ -156,7 +157,9 @@ static void pnv_smp_cpu_kill_self(void)
|
|
|
*/
|
|
|
mtspr(SPRN_LPCR, mfspr(SPRN_LPCR) & ~(u64)LPCR_PECE1);
|
|
|
while (!generic_check_cpu_restart(cpu)) {
|
|
|
+ ppc64_runlatch_off();
|
|
|
power7_nap();
|
|
|
+ ppc64_runlatch_on();
|
|
|
if (!generic_check_cpu_restart(cpu)) {
|
|
|
DBG("CPU%d Unexpected exit while offline !\n", cpu);
|
|
|
/* We may be getting an IPI, so we re-enable
|