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
commit1f2d2c578f6ccffbff342280ab10204c4c1607ac (patch)
treea8d864dce5762c1cd76d22c02733ebd7406f7eed /target-i386
parent05e67c8afd7c8dc974cffc13bdb87ad72b694f18 (diff)
downloadqemu-1f2d2c578f6ccffbff342280ab10204c4c1607ac.tar.gz
qemu-1f2d2c578f6ccffbff342280ab10204c4c1607ac.tar.bz2
qemu-1f2d2c578f6ccffbff342280ab10204c4c1607ac.zip
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;
}