[tip: x86/cpu] x86/kvm: Expose TSX Suspend Load Tracking feature

From: tip-bot2 for Cathy Zhang
Date: Sun Aug 30 2020 - 15:42:51 EST


The following commit has been merged into the x86/cpu branch of tip:

Commit-ID: 61aa9a0a5eae2100c171698bffabde8d5e9f694d
Gitweb: https://git.kernel.org/tip/61aa9a0a5eae2100c171698bffabde8d5e9f694d
Author: Cathy Zhang <cathy.zhang@xxxxxxxxx>
AuthorDate: Tue, 25 Aug 2020 08:47:58 +08:00
Committer: Borislav Petkov <bp@xxxxxxx>
CommitterDate: Sun, 30 Aug 2020 21:34:10 +02:00

x86/kvm: Expose TSX Suspend Load Tracking feature

TSX suspend load tracking instruction is supported by the Intel uarch
Sapphire Rapids. It aims to give a way to choose which memory accesses
do not need to be tracked in the TSX read set. It's availability is
indicated as CPUID.(EAX=7,ECX=0):EDX[bit 16].

Expose TSX Suspend Load Address Tracking feature in KVM CPUID, so KVM
could pass this information to guests and they can make use of this
feature accordingly.

Signed-off-by: Cathy Zhang <cathy.zhang@xxxxxxxxx>
Signed-off-by: Borislav Petkov <bp@xxxxxxx>
Reviewed-by: Tony Luck <tony.luck@xxxxxxxxx>
Link: https://lkml.kernel.org/r/1598316478-23337-3-git-send-email-cathy.zhang@xxxxxxxxx
---
arch/x86/kvm/cpuid.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c
index 3fd6eec..7456f9a 100644
--- a/arch/x86/kvm/cpuid.c
+++ b/arch/x86/kvm/cpuid.c
@@ -371,7 +371,7 @@ void kvm_set_cpu_caps(void)
F(AVX512_4VNNIW) | F(AVX512_4FMAPS) | F(SPEC_CTRL) |
F(SPEC_CTRL_SSBD) | F(ARCH_CAPABILITIES) | F(INTEL_STIBP) |
F(MD_CLEAR) | F(AVX512_VP2INTERSECT) | F(FSRM) |
- F(SERIALIZE)
+ F(SERIALIZE) | F(TSXLDTRK)
);

/* TSC_ADJUST and ARCH_CAPABILITIES are emulated in software. */