|
@@ -1673,7 +1673,9 @@ static bool update_transition_efer(struct vcpu_vmx *vmx, int efer_offset)
|
|
guest_efer = vmx->vcpu.arch.efer;
|
|
guest_efer = vmx->vcpu.arch.efer;
|
|
if (!(guest_efer & EFER_LMA))
|
|
if (!(guest_efer & EFER_LMA))
|
|
guest_efer &= ~EFER_LME;
|
|
guest_efer &= ~EFER_LME;
|
|
- add_atomic_switch_msr(vmx, MSR_EFER, guest_efer, host_efer);
|
|
|
|
|
|
+ if (guest_efer != host_efer)
|
|
|
|
+ add_atomic_switch_msr(vmx, MSR_EFER,
|
|
|
|
+ guest_efer, host_efer);
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
|
|
|