Skip to content

Commit c834e79

Browse files
Jiaxi ChenBrian Maly
authored andcommitted
KVM: x86: Advertise AVX-NE-CONVERT CPUID to user space
AVX-NE-CONVERT is a new set of instructions which can convert low precision floating point like BF16/FP16 to high precision floating point FP32, and can also convert FP32 elements to BF16. This instruction allows the platform to have improved AI capabilities and better compatibility. The bit definition: CPUID.(EAX=7,ECX=1):EDX[bit 5] AVX-NE-CONVERT is on a KVM-only subleaf. Plus an x86_FEATURE definition for this feature bit to direct it to the KVM entry. Advertise AVX-NE-CONVERT to KVM userspace. This is safe because there are no new VMX controls or additional host enabling required for guests to use this feature. Signed-off-by: Jiaxi Chen <[email protected]> Message-Id: <[email protected]> Signed-off-by: Paolo Bonzini <[email protected]> (cherry picked from commit 9977f08) Orabug: 36810714 Signed-off-by: Henry Willard <[email protected]> Reviewed-by: Harshit Mogalapalli <[email protected]> Signed-off-by: Brian Maly <[email protected]>
1 parent f63aa28 commit c834e79

File tree

2 files changed

+2
-1
lines changed

2 files changed

+2
-1
lines changed

arch/x86/kvm/cpuid.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -601,7 +601,7 @@ void kvm_set_cpu_caps(void)
601601
);
602602

603603
kvm_cpu_cap_init_kvm_defined(CPUID_7_1_EDX,
604-
F(AVX_VNNI_INT8)
604+
F(AVX_VNNI_INT8) | F(AVX_NE_CONVERT)
605605
);
606606

607607
kvm_cpu_cap_init_kvm_defined(CPUID_7_2_EDX,

arch/x86/kvm/reverse_cpuid.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ enum kvm_only_cpuid_leafs {
4040

4141
/* Intel-defined sub-features, CPUID level 0x00000007:1 (EDX) */
4242
#define X86_FEATURE_AVX_VNNI_INT8 KVM_X86_FEATURE(CPUID_7_1_EDX, 4)
43+
#define X86_FEATURE_AVX_NE_CONVERT KVM_X86_FEATURE(CPUID_7_1_EDX, 5)
4344

4445
/* Intel-defined sub-features, CPUID level 0x00000007:2 (EDX) */
4546
#define X86_FEATURE_INTEL_PSFD KVM_X86_FEATURE(CPUID_7_2_EDX, 0)

0 commit comments

Comments
 (0)