summaryrefslogtreecommitdiff
path: root/target-i386
diff options
context:
space:
mode:
authorJan Kiszka <jan.kiszka@siemens.com>2011-01-21 21:48:10 +0100
committerMarcelo Tosatti <mtosatti@redhat.com>2011-01-23 02:27:21 -0200
commitc14750e8ad4a9d8d7621e2594abda34df19a6eff (patch)
treea8d864dce5762c1cd76d22c02733ebd7406f7eed /target-i386
parent0d75a9ecd7ff77db0f1b5bfb3a3fee2438acefa4 (diff)
downloadqemu-c14750e8ad4a9d8d7621e2594abda34df19a6eff.tar.gz
kvm: x86: Prepare kvm_get_mp_state for in-kernel irqchip
This code path will not yet be taken as we still lack in-kernel irqchip support. But qemu-kvm can already make use of it and drop its own mp_state access services. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Diffstat (limited to 'target-i386')
-rw-r--r--target-i386/kvm.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/target-i386/kvm.c b/target-i386/kvm.c
index 9bb34abc5b..531b69e68a 100644
--- a/target-i386/kvm.c
+++ b/target-i386/kvm.c
@@ -1198,6 +1198,9 @@ static int kvm_get_mp_state(CPUState *env)
return ret;
}
env->mp_state = mp_state.mp_state;
+ if (kvm_irqchip_in_kernel()) {
+ env->halted = (mp_state.mp_state == KVM_MP_STATE_HALTED);
+ }
return 0;
}