summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'qemu-kvm.c')
-rw-r--r--qemu-kvm.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/qemu-kvm.c b/qemu-kvm.c
index b6c36e039..e168db2c3 100644
--- a/qemu-kvm.c
+++ b/qemu-kvm.c
@@ -1579,11 +1579,6 @@ static void on_vcpu(CPUState *env, void (*func)(void *data), void *data)
void kvm_arch_get_registers(CPUState *env)
{
kvm_arch_save_regs(env);
- kvm_arch_save_mpstate(env);
-#ifdef KVM_CAP_MP_STATE
- if (kvm_irqchip_in_kernel())
- env->halted = (env->mp_state == KVM_MP_STATE_HALTED);
-#endif
}
static void do_kvm_cpu_synchronize_state(void *_env)
@@ -1677,6 +1672,10 @@ static void kvm_do_save_mpstate(void *_env)
CPUState *env = _env;
kvm_arch_save_mpstate(env);
+#ifdef KVM_CAP_MP_STATE
+ if (kvm_irqchip_in_kernel())
+ env->halted = (env->mp_state == KVM_MP_STATE_HALTED);
+#endif
}
void kvm_save_mpstate(CPUState *env)