]> git.baikalelectronics.ru Git - kernel.git/commit
kvm: x86: IA32_ARCH_CAPABILITIES is always supported
authorJim Mattson <jmattson@google.com>
Wed, 9 May 2018 21:29:35 +0000 (14:29 -0700)
committerRadim Krčmář <rkrcmar@redhat.com>
Thu, 24 May 2018 16:38:34 +0000 (18:38 +0200)
commitc46c3f21b225f726b99d9b70ec90f329da481fe3
treedad0dafe997f6d7f7ec60383002eeeefc1125db6
parent175ad083c537c0ae804855f90b2a0c655edecd37
kvm: x86: IA32_ARCH_CAPABILITIES is always supported

If there is a possibility that a VM may migrate to a Skylake host,
then the hypervisor should report IA32_ARCH_CAPABILITIES.RSBA[bit 2]
as being set (future work, of course). This implies that
CPUID.(EAX=7,ECX=0):EDX.ARCH_CAPABILITIES[bit 29] should be
set. Therefore, kvm should report this CPUID bit as being supported
whether or not the host supports it.  Userspace is still free to clear
the bit if it chooses.

For more information on RSBA, see Intel's white paper, "Retpoline: A
Branch Target Injection Mitigation" (Document Number 337131-001),
currently available at https://bugzilla.kernel.org/show_bug.cgi?id=199511.

Since the IA32_ARCH_CAPABILITIES MSR is emulated in kvm, there is no
dependency on hardware support for this feature.

Signed-off-by: Jim Mattson <jmattson@google.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Fixes: 33ea5c03e27d ("KVM/VMX: Emulate MSR_IA32_ARCH_CAPABILITIES")
Cc: stable@vger.kernel.org
Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
arch/x86/kvm/cpuid.c