x86/speculation: Use ARCH_CAPABILITIES to skip L1D flush on vmentry
authorPaolo Bonzini <pbonzini@redhat.com>
Sun, 5 Aug 2018 14:07:46 +0000 (16:07 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 15 Aug 2018 16:13:00 +0000 (18:13 +0200)
commitc15396d3f74f6cd7c084bdcc1004714a40cb268a
tree486bcfe53caa7cbcbabe5320830eaf4490baeb97
parent6a0bea042dcacc087587e6b44fb3e74ce0c26e5c
x86/speculation: Use ARCH_CAPABILITIES to skip L1D flush on vmentry

commit 8e0b2b916662e09dd4d09e5271cdf214c6b80e62 upstream

Bit 3 of ARCH_CAPABILITIES tells a hypervisor that L1D flush on vmentry is
not needed.  Add a new value to enum vmx_l1d_flush_state, which is used
either if there is no L1TF bug at all, or if bit 3 is set in ARCH_CAPABILITIES.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/x86/include/asm/msr-index.h
arch/x86/include/asm/vmx.h
arch/x86/kernel/cpu/bugs.c
arch/x86/kvm/vmx.c