From: Yang Zhong yang.zhong@intel.com
mainline inclusion from mainline-v5.11-rc3 commit 1085a6b585d7d1c441cd10fdb4c7a4d96a22eba7 category: feature bugzilla: https://gitee.com/openeuler/kernel/issues/I5OD9N CVE: NA
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?i...
--------------------------------
Expose AVX (VEX-encoded) versions of the Vector Neural Network Instructions to guest.
The bit definition: CPUID.(EAX=7,ECX=1):EAX[bit 4] AVX_VNNI
The following instructions are available when this feature is present in the guest. 1. VPDPBUS: Multiply and Add Unsigned and Signed Bytes 2. VPDPBUSDS: Multiply and Add Unsigned and Signed Bytes with Saturation 3. VPDPWSSD: Multiply and Add Signed Word Integers 4. VPDPWSSDS: Multiply and Add Signed Integers with Saturation
This instruction is currently documented in the latest "extensions" manual (ISE). It will appear in the "main" manual (SDM) in the future.
Signed-off-by: Yang Zhong yang.zhong@intel.com Reviewed-by: Tony Luck tony.luck@intel.com Message-Id: 20210105004909.42000-3-yang.zhong@intel.com Signed-off-by: Paolo Bonzini pbonzini@redhat.com Signed-off-by: Zhou Shuling zhoushuling@huawei.com --- 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 c957e591401c..e46c495b423b 100644 --- a/arch/x86/kvm/cpuid.c +++ b/arch/x86/kvm/cpuid.c @@ -473,7 +473,7 @@ void kvm_set_cpu_caps(void) kvm_cpu_cap_set(X86_FEATURE_SPEC_CTRL_SSBD);
kvm_cpu_cap_mask(CPUID_7_1_EAX, - F(AVX512_BF16) + F(AVX_VNNI) | F(AVX512_BF16) );
kvm_cpu_cap_mask(CPUID_D_1_EAX,