From: Keir Fraser Date: Wed, 19 May 2010 21:49:28 +0000 (+0100) Subject: x86: When failing smp_callin() properly clean up before halting. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~12106 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=54f575b72edf0e20ba75fddc497ce0bae2439b4e;p=xen.git x86: When failing smp_callin() properly clean up before halting. In particular we must clear_local_APIC() else LAPIC NMI watchdog will continue to fire and use a stack which no longer exists. Signed-off-by: Keir Fraser --- diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c index e548375049..45e5c3d797 100644 --- a/xen/arch/x86/smpboot.c +++ b/xen/arch/x86/smpboot.c @@ -164,6 +164,8 @@ void smp_callin(void) extern void (*dead_idle) (void); printk("CPU%d: Failed to initialise HVM. Not coming online.\n", cpu); cpu_error = rc; + clear_local_APIC(); + spin_debug_enable(); cpu_exit_clear(cpu); (*dead_idle)(); }