diff options
author | Jan Kiszka <jan.kiszka@siemens.com> | 2010-03-01 18:17:23 +0100 |
---|---|---|
committer | Marcelo Tosatti <mtosatti@redhat.com> | 2010-03-01 14:30:13 -0300 |
commit | dbb8952aa23df12ff52f5b7dff5700c0ce8cea82 (patch) | |
tree | c7ccc699faefad1443f418ce5dacfbb0ab3a8605 /qemu-kvm-ia64.c | |
parent | 6e02997e45e70f035b5526586cf7cfca2dd3a967 (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.c | 4 |
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; |