• Sean Christopherson's avatar
    KVM: VMX: Move uret MSR lookup into update_transition_efer() · 86e3e494
    Sean Christopherson authored
    Move checking for the existence of MSR_EFER in the uret MSR array into
    update_transition_efer() so that the lookup and manipulation of the
    array in setup_msrs() occur back-to-back.  This paves the way toward
    adding a helper to wrap the lookup and manipulation.
    
    To avoid unnecessary overhead, defer the lookup until the uret array
    would actually be modified in update_transition_efer().  EFER obviously
    exists on CPUs that support the dedicated VMCS fields for switching
    EFER, and EFER must exist for the guest and host EFER.NX value to
    diverge, i.e. there is no danger of attempting to read/write EFER when
    it doesn't exist.
    Signed-off-by: default avatarSean Christopherson <sean.j.christopherson@intel.com>
    Message-Id: <20200923180409.32255-11-sean.j.christopherson@intel.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    86e3e494
vmx.c 218 KB