|
@@ -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
|