diff options
-rw-r--r-- | qemu-kvm.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/qemu-kvm.c b/qemu-kvm.c index 67d1de9aa..c5f3f29f9 100644 --- a/qemu-kvm.c +++ b/qemu-kvm.c @@ -353,16 +353,20 @@ static void update_regs_for_sipi(CPUState *env) static void update_regs_for_init(CPUState *env) { +#ifdef TARGET_I386 SegmentCache cs = env->segs[R_CS]; +#endif cpu_reset(env); +#ifdef TARGET_I386 /* restore SIPI vector */ if(vcpu_info[env->cpu_index].sipi_needed) env->segs[R_CS] = cs; - kvm_arch_load_regs(env); vcpu_info[env->cpu_index].init = 0; +#endif + kvm_arch_load_regs(env); } static void setup_kernel_sigmask(CPUState *env) |