mirror of
https://github.com/xemu-project/xemu.git
synced 2026-07-11 01:24:41 +02:00
target/i386: clear CPU_INTERRUPT_SIPI for all accelerators
Similar to what commitdf32e5c5did for TCG; fixes boot with multiple processors on WHPX and probably more accelerators Fixes:df32e5c568("i386/cpu: Prevent delivering SIPI during SMM in TCG mode", 2025-10-14) Resolves: https://gitlab.com/qemu-project/qemu/-/issues/3178 Cc: qemu-stable@nongnu.org Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
@@ -446,6 +446,7 @@ int hvf_process_events(CPUState *cs)
|
||||
cs->halted = 0;
|
||||
}
|
||||
if (cpu_test_interrupt(cs, CPU_INTERRUPT_SIPI)) {
|
||||
cpu_reset_interrupt(cs, CPU_INTERRUPT_SIPI);
|
||||
cpu_synchronize_state(cs);
|
||||
do_cpu_sipi(cpu);
|
||||
}
|
||||
|
||||
@@ -5659,6 +5659,7 @@ int kvm_arch_process_async_events(CPUState *cs)
|
||||
cs->halted = 0;
|
||||
}
|
||||
if (cpu_test_interrupt(cs, CPU_INTERRUPT_SIPI)) {
|
||||
cpu_reset_interrupt(cs, CPU_INTERRUPT_SIPI);
|
||||
kvm_cpu_synchronize_state(cs);
|
||||
do_cpu_sipi(cpu);
|
||||
}
|
||||
|
||||
@@ -709,6 +709,7 @@ nvmm_vcpu_loop(CPUState *cpu)
|
||||
cpu->halted = false;
|
||||
}
|
||||
if (cpu_test_interrupt(cpu, CPU_INTERRUPT_SIPI)) {
|
||||
cpu_reset_interrupt(cpu, CPU_INTERRUPT_SIPI);
|
||||
nvmm_cpu_synchronize_state(cpu);
|
||||
do_cpu_sipi(x86_cpu);
|
||||
}
|
||||
|
||||
@@ -1621,6 +1621,7 @@ static void whpx_vcpu_process_async_events(CPUState *cpu)
|
||||
}
|
||||
|
||||
if (cpu_test_interrupt(cpu, CPU_INTERRUPT_SIPI)) {
|
||||
cpu_reset_interrupt(cpu, CPU_INTERRUPT_SIPI);
|
||||
whpx_cpu_synchronize_state(cpu);
|
||||
do_cpu_sipi(x86_cpu);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user