From: Roger Pau Monne Date: Thu, 6 Feb 2025 11:20:04 +0000 (+0100) Subject: x86/smp: perform disabling on interrupts ahead of AP shutdown X-Git-Tag: 4.20.0-rc5~10 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=db6daa9bf411260d2c1f5301e4fc786ae4a5cef8;p=xen.git x86/smp: perform disabling on interrupts ahead of AP shutdown Move the disabling of interrupt sources so it's done ahead of the offlining of APs. This is to prevent AMD systems triggering "Receive accept error" when interrupts target CPUs that are no longer online. Signed-off-by: Roger Pau Monné Reviewed-by: Jan Beulich Release-Acked-by: Oleksii Kurochko --- diff --git a/xen/arch/x86/smp.c b/xen/arch/x86/smp.c index 1d3878826f..4d29a09a9a 100644 --- a/xen/arch/x86/smp.c +++ b/xen/arch/x86/smp.c @@ -374,6 +374,8 @@ void smp_send_stop(void) smp_call_function(stop_this_cpu, &stop_aps, 0); local_irq_disable(); + disable_IO_APIC(); + hpet_disable(); if ( num_online_cpus() > 1 ) { @@ -389,8 +391,6 @@ void smp_send_stop(void) if ( cpu_online(cpu) ) { - disable_IO_APIC(); - hpet_disable(); __stop_this_cpu(); x2apic_enabled = (current_local_apic_mode() == APIC_MODE_X2APIC); }