From 30aadc8dbc9ac1abf88bfeb370d1c27c5ea9d1e6 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roger=20Pau=20Monn=C3=A9?= Date: Mon, 17 Feb 2025 13:23:50 +0100 Subject: [PATCH] x86/smp: perform disabling on interrupts ahead of AP shutdown MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 master commit: db6daa9bf411260d2c1f5301e4fc786ae4a5cef8 master date: 2025-02-12 15:56:07 +0100 --- xen/arch/x86/smp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xen/arch/x86/smp.c b/xen/arch/x86/smp.c index bd92496d3d..eb134ecac8 100644 --- a/xen/arch/x86/smp.c +++ b/xen/arch/x86/smp.c @@ -372,6 +372,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 ) { @@ -387,8 +389,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); } -- 2.39.5