| title: | Re PATCH v3 04 10 qemu kvm Clean up mpsta |
|
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 rel="nofollow" vger.kernel.org/majordomo-info.html vger.kernel.org/majordomo-info.html
|