smp.c (e51df2c170efaeadce4d416e1825b0830de0a795) smp.c (d6a4f70909d279004a2b3d539e240e07b1ecc1cb)
1/*
2 * SMP support for PowerNV machines.
3 *
4 * Copyright 2011 IBM Corp.
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * as published by the Free Software Foundation; either version

--- 154 unchanged lines hidden (view full) ---

163 * so clear LPCR:PECE1. We keep PECE2 enabled.
164 */
165 mtspr(SPRN_LPCR, mfspr(SPRN_LPCR) & ~(u64)LPCR_PECE1);
166 while (!generic_check_cpu_restart(cpu)) {
167 ppc64_runlatch_off();
168 power7_nap(1);
169 ppc64_runlatch_on();
170
1/*
2 * SMP support for PowerNV machines.
3 *
4 * Copyright 2011 IBM Corp.
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * as published by the Free Software Foundation; either version

--- 154 unchanged lines hidden (view full) ---

163 * so clear LPCR:PECE1. We keep PECE2 enabled.
164 */
165 mtspr(SPRN_LPCR, mfspr(SPRN_LPCR) & ~(u64)LPCR_PECE1);
166 while (!generic_check_cpu_restart(cpu)) {
167 ppc64_runlatch_off();
168 power7_nap(1);
169 ppc64_runlatch_on();
170
171 /* Reenable IRQs briefly to clear the IPI that woke us */
172 local_irq_enable();
173 local_irq_disable();
171 /* Clear the IPI that woke us up */
172 icp_native_flush_interrupt();
173 local_paca->irq_happened &= PACA_IRQ_HARD_DIS;
174 mb();
175
176 if (cpu_core_split_required())
177 continue;
178
179 if (!generic_check_cpu_restart(cpu))
180 DBG("CPU%d Unexpected exit while offline !\n", cpu);
181 }

--- 40 unchanged lines hidden ---
174 mb();
175
176 if (cpu_core_split_required())
177 continue;
178
179 if (!generic_check_cpu_restart(cpu))
180 DBG("CPU%d Unexpected exit while offline !\n", cpu);
181 }

--- 40 unchanged lines hidden ---