On Wed, Feb 24, 2010 at 03:17:52PM +0100, Jan Kiszka wrote: > Push mpstate reading/writing into kvm_arch_load/save_regs and, on x86, > properly synchronize with halted in the accessor functions. > > Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> > @@ -1290,6 +1318,7 @@ int kvm_arch_init_vcpu(CPUState *cenv) > #ifdef KVM_EXIT_TPR_ACCESS > kvm_tpr_vcpu_start(cenv); > #endif > + kvm_reset_mpstate(cenv); > return 0; > } > > @@ -1363,15 +1392,10 @@ void kvm_arch_cpu_reset(CPUState *env) > { > kvm_arch_reset_vcpu(env); > kvm_put_vcpu_events(env); > - if (!cpu_is_bsp(env)) { > - if (kvm_irqchip_in_kernel()) { > -#ifdef KVM_CAP_MP_STATE > - kvm_reset_mpstate(env); > -#endif > - } else { > - env->interrupt_request &= ~CPU_INTERRUPT_HARD; > - env->halted = 1; > - } > + kvm_reset_mpstate(env); > + if (!cpu_is_bsp(env) && !kvm_irqchip_in_kernel()) { > + env->interrupt_request &= ~CPU_INTERRUPT_HARD; > + env->halted = 1; > } > } Why are these two needed? Now that initialization of mp_state happens via synchronize_state(init/reset) -> arch_load_regs? -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html