KVM: VMX: enable X86_FEATURE_WAITPKG in KVM capabilities

Even though we might not allow the guest to use WAITPKG's new
instructions, we should tell KVM that the feature is supported by the
host CPU.

Note that vmx_waitpkg_supported checks that WAITPKG _can_ be set in
secondary execution controls as specified by VMX capability MSR, rather
that we actually enable it for a guest.

Cc: stable@vger.kernel.org
Fixes: e69e72faa3 ("KVM: x86: Add support for user wait instructions")
Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Maxim Levitsky <mlevitsk@redhat.com>
Message-Id: <20200523161455.3940-2-mlevitsk@redhat.com>
Reviewed-by: Sean Christopherson <sean.j.christopherson@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Maxim Levitsky 2020-05-23 19:14:54 +03:00 committed by Paolo Bonzini
parent 6129ed877d
commit 0abcc8f65c
1 changed files with 3 additions and 0 deletions

View File

@ -7138,6 +7138,9 @@ static __init void vmx_set_cpu_caps(void)
/* CPUID 0x80000001 */ /* CPUID 0x80000001 */
if (!cpu_has_vmx_rdtscp()) if (!cpu_has_vmx_rdtscp())
kvm_cpu_cap_clear(X86_FEATURE_RDTSCP); kvm_cpu_cap_clear(X86_FEATURE_RDTSCP);
if (vmx_waitpkg_supported())
kvm_cpu_cap_check_and_set(X86_FEATURE_WAITPKG);
} }
static void vmx_request_immediate_exit(struct kvm_vcpu *vcpu) static void vmx_request_immediate_exit(struct kvm_vcpu *vcpu)