On 08/12/2012 04:12 PM, Gleb Natapov wrote:
> MSR_IA32_DEBUGCTLMSR is zeroed on VMEXIT. Restore it to the correct
> value.
> 
> @@ -6222,6 +6222,7 @@ static void atomic_switch_perf_msrs(struct vcpu_vmx 
> *vmx)
>  static void __noclone vmx_vcpu_run(struct kvm_vcpu *vcpu)
>  {
>       struct vcpu_vmx *vmx = to_vmx(vcpu);
> +     unsigned long debugctlmsr;
>  
>       if (is_guest_mode(vcpu) && !vmx->nested.nested_run_pending) {
>               struct vmcs12 *vmcs12 = get_vmcs12(vcpu);
> @@ -6261,6 +6262,7 @@ static void __noclone vmx_vcpu_run(struct kvm_vcpu 
> *vcpu)
>               vmx_set_interrupt_shadow(vcpu, 0);
>  
>       atomic_switch_perf_msrs(vmx);
> +     debugctlmsr = get_debugctlmsr();

How expensive is this?  We may want a follow-on patch to cache it in a
per-cpu variable.



-- 
error compiling committee.c: too many arguments to function
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to