diff options
Diffstat (limited to 'arch/x86/kvm/vmx.c')
| -rw-r--r-- | arch/x86/kvm/vmx.c | 7 | 
1 files changed, 2 insertions, 5 deletions
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c index 859a01a07db..ee03679efe7 100644 --- a/arch/x86/kvm/vmx.c +++ b/arch/x86/kvm/vmx.c @@ -1744,18 +1744,15 @@ static void enter_lmode(struct kvm_vcpu *vcpu)  			     (guest_tr_ar & ~AR_TYPE_MASK)  			     | AR_TYPE_BUSY_64_TSS);  	} -	vcpu->arch.efer |= EFER_LMA; -	vmx_set_efer(vcpu, vcpu->arch.efer); +	vmx_set_efer(vcpu, vcpu->arch.efer | EFER_LMA);  }  static void exit_lmode(struct kvm_vcpu *vcpu)  { -	vcpu->arch.efer &= ~EFER_LMA; -  	vmcs_write32(VM_ENTRY_CONTROLS,  		     vmcs_read32(VM_ENTRY_CONTROLS)  		     & ~VM_ENTRY_IA32E_MODE); -	vmx_set_efer(vcpu, vcpu->arch.efer); +	vmx_set_efer(vcpu, vcpu->arch.efer & ~EFER_LMA);  }  #endif  |