x86/kvm: Expose TSX Suspend Load Tracking feature
authorCathy Zhang <cathy.zhang@intel.com>
Tue, 25 Aug 2020 00:47:58 +0000 (08:47 +0800)
committerBorislav Petkov <bp@suse.de>
Sun, 30 Aug 2020 19:34:10 +0000 (21:34 +0200)
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@intel.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Tony Luck <tony.luck@intel.com>
Link: https://lkml.kernel.org/r/1598316478-23337-3-git-send-email-cathy.zhang@intel.com
arch/x86/kvm/cpuid.c

index 3fd6eec202d7a63e5e16540e3be94d795defcb1c..7456f9ad424b4a8c5e2624b5c0f8931a031e2362 100644 (file)
@@ -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. */