kvm: Add in-kernel irqchip awareness to cpu_thread_is_idle

With in-kernel irqchip support enabled, the vcpu threads sleep in kernel
space while halted. Account for this difference in cpu_thread_is_idle.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
This commit is contained in:
Jan Kiszka 2011-03-15 12:26:18 +01:00 committed by Marcelo Tosatti
parent fd28aa1323
commit f2c1cc81c8
1 changed files with 2 additions and 1 deletions

3
cpus.c
View File

@ -148,7 +148,8 @@ static bool cpu_thread_is_idle(CPUState *env)
if (env->stopped || !vm_running) {
return true;
}
if (!env->halted || qemu_cpu_has_work(env)) {
if (!env->halted || qemu_cpu_has_work(env) ||
(kvm_enabled() && kvm_irqchip_in_kernel())) {
return false;
}
return true;