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:
parent
9a2aa6bfeb
commit
d5e1d2dea1
4 changed files with 4 additions and 0 deletions
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue