diff --git a/cpus.c b/cpus.c index 5863b517a9989429c40b3121a1cf88a79379704f..37369aeb8ea01b3cb9a352945b1861c2eb7b56a2 100644 --- a/cpus.c +++ b/cpus.c @@ -717,10 +717,8 @@ static void qemu_tcg_wait_io_event(void) } } -static void qemu_kvm_wait_io_event(CPUArchState *env) +static void qemu_kvm_wait_io_event(CPUState *cpu) { - CPUState *cpu = ENV_GET_CPU(env); - while (cpu_thread_is_idle(cpu)) { qemu_cond_wait(cpu->halt_cond, &qemu_global_mutex); } @@ -759,7 +757,7 @@ static void *qemu_kvm_cpu_thread_fn(void *arg) cpu_handle_guest_debug(env); } } - qemu_kvm_wait_io_event(env); + qemu_kvm_wait_io_event(cpu); } return NULL;