We shouldn't kick a stopped vCPU, as it will be resumed. Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> --- RFC: Better to assert and fix call sites? --- system/cpus.c | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/system/cpus.c b/system/cpus.c index d16b0dff989..4835e5ced48 100644 --- a/system/cpus.c +++ b/system/cpus.c @@ -494,6 +494,11 @@ void cpus_kick_thread(CPUState *cpu) void qemu_cpu_kick(CPUState *cpu) { qemu_cond_broadcast(cpu->halt_cond); + + if (!cpu_can_run(cpu)) { + return; + } + if (cpus_accel->kick_vcpu_thread) { cpus_accel->kick_vcpu_thread(cpu); } else { /* default */ -- 2.49.0