Load updated register into kernel after INIT/SIPI. Otherwise
vcpu starts at the wrong address after SIPI.

Signed-off-by: Gleb Natapov <g...@redhat.com>
diff --git a/qemu-kvm-x86.c b/qemu-kvm-x86.c
index 1eb147e..5d3025a 100644
--- a/qemu-kvm-x86.c
+++ b/qemu-kvm-x86.c
@@ -1578,8 +1578,10 @@ uint32_t kvm_arch_get_supported_cpuid(CPUState *env, 
uint32_t function,
 
 void kvm_arch_process_irqchip_events(CPUState *env)
 {
+    kvm_arch_save_regs(env);
     if (env->interrupt_request & CPU_INTERRUPT_INIT)
         do_cpu_init(env);
     if (env->interrupt_request & CPU_INTERRUPT_SIPI)
         do_cpu_sipi(env);
+    kvm_arch_load_regs(env);
 }
--
                        Gleb.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to