]> git.baikalelectronics.ru Git - kernel.git/commit
KVM: x86: Emulate MSR_IA32_ARCH_CAPABILITIES on AMD hosts
authorSean Christopherson <sean.j.christopherson@intel.com>
Thu, 7 Mar 2019 23:43:02 +0000 (15:43 -0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 28 Mar 2019 16:29:00 +0000 (17:29 +0100)
commit0385e13613cd57e878cdc74111032080ddfc9346
tree3b0ab00d74457a69057f9466fd166ef83dda94fd
parente80a640c3fc6cb00cca444d8c5ebd9118ed1f297
KVM: x86: Emulate MSR_IA32_ARCH_CAPABILITIES on AMD hosts

The CPUID flag ARCH_CAPABILITIES is unconditioinally exposed to host
userspace for all x86 hosts, i.e. KVM advertises ARCH_CAPABILITIES
regardless of hardware support under the pretense that KVM fully
emulates MSR_IA32_ARCH_CAPABILITIES.  Unfortunately, only VMX hosts
handle accesses to MSR_IA32_ARCH_CAPABILITIES (despite KVM_GET_MSRS
also reporting MSR_IA32_ARCH_CAPABILITIES for all hosts).

Move the MSR_IA32_ARCH_CAPABILITIES handling to common x86 code so
that it's emulated on AMD hosts.

Fixes: 7401ff251f85e ("kvm: x86: IA32_ARCH_CAPABILITIES is always supported")
Cc: stable@vger.kernel.org
Reported-by: Xiaoyao Li <xiaoyao.li@linux.intel.com>
Cc: Jim Mattson <jmattson@google.com>
Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/include/asm/kvm_host.h
arch/x86/kvm/vmx/vmx.c
arch/x86/kvm/vmx/vmx.h
arch/x86/kvm/x86.c