• Sean Christopherson's avatar
    KVM: VMX: Unconditionally clear CPUID.INVPCID if !CPUID.PCID · b936d3eb
    Sean Christopherson authored
    If PCID is not exposed to the guest, clear INVPCID in the guest's CPUID
    even if the VMCS INVPCID enable is not supported.  This will allow
    consolidating the secondary execution control adjustment code without
    having to special case INVPCID.
    
    Technically, this fixes a bug where !CPUID.PCID && CPUID.INVCPID would
    result in unexpected guest behavior (#UD instead of #GP/#PF), but KVM
    doesn't support exposing INVPCID if it's not supported in the VMCS, i.e.
    such a config is broken/bogus no matter what.
    Signed-off-by: default avatarSean Christopherson <sean.j.christopherson@intel.com>
    Message-Id: <20200923165048.20486-3-sean.j.christopherson@intel.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    b936d3eb
vmx.c 226 KB