KVM: x86: Expose AVX512_FP16 for supported CPUID
authorCathy Zhang <cathy.zhang@intel.com>
Tue, 8 Dec 2020 03:34:41 +0000 (19:34 -0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Sat, 12 Dec 2020 00:00:59 +0000 (19:00 -0500)
AVX512_FP16 is supported by Intel processors, like Sapphire Rapids.
It could gain better performance for it's faster compared to FP32
if the precision or magnitude requirements are met. It's availability
is indicated by CPUID.(EAX=7,ECX=0):EDX[bit 23].

Expose it in KVM supported CPUID, then guest could make use of it; no
new registers are used, only new instructions.

Signed-off-by: Cathy Zhang <cathy.zhang@intel.com>
Signed-off-by: Kyung Min Park <kyung.min.park@intel.com>
Acked-by: Dave Hansen <dave.hansen@intel.com>
Reviewed-by: Tony Luck <tony.luck@intel.com>
Message-Id: <20201208033441.28207-3-kyung.min.park@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/cpuid.c

index 5d352cc204cec1fc084041ce7a374ced9dc68d16..a22a3108b5f0f655002998bb2f46199e405db261 100644 (file)
@@ -419,7 +419,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(TSXLDTRK)
+               F(SERIALIZE) | F(TSXLDTRK) | F(AVX512_FP16)
        );
 
        /* TSC_ADJUST and ARCH_CAPABILITIES are emulated in software. */