summaryrefslogtreecommitdiff
path: root/qemu-kvm-ia64.c
diff options
context:
space:
mode:
authorJan Kiszka <jan.kiszka@siemens.com>2010-03-01 18:17:23 +0100
committerMarcelo Tosatti <mtosatti@redhat.com>2010-03-01 14:30:13 -0300
commitdbb8952aa23df12ff52f5b7dff5700c0ce8cea82 (patch)
treec7ccc699faefad1443f418ce5dacfbb0ab3a8605 /qemu-kvm-ia64.c
parent6e02997e45e70f035b5526586cf7cfca2dd3a967 (diff)
qemu-kvm: Clean up mpstate synchronization
Push mpstate reading/writing into kvm_arch_load/save_regs and, on x86, properly synchronize with halted in the accessor functions. At this chance, drop the special reset of interrupt_request and halted in kvm_arch_cpu_reset. The former is done via memset in cpu_reset, the latter in apic_init_reset anyway. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Diffstat (limited to 'qemu-kvm-ia64.c')
-rw-r--r--qemu-kvm-ia64.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/qemu-kvm-ia64.c b/qemu-kvm-ia64.c
index fc8110e5f..39bcbebc5 100644
--- a/qemu-kvm-ia64.c
+++ b/qemu-kvm-ia64.c
@@ -124,7 +124,9 @@ void kvm_arch_cpu_reset(CPUState *env)
{
if (kvm_irqchip_in_kernel(kvm_context)) {
#ifdef KVM_CAP_MP_STATE
- kvm_reset_mpstate(env->kvm_cpu_state.vcpu_ctx);
+ struct kvm_mp_state mp_state = {.mp_state = KVM_MP_STATE_UNINITIALIZED
+ };
+ kvm_set_mpstate(env, &mp_state);
#endif
} else {
env->interrupt_request &= ~CPU_INTERRUPT_HARD;