[PATCH v2] KVM: x86: Advertise AVX512 Bit Matrix Multiply (BMM) to userspace

Nikunj A Dadhania posted 1 patch 2 months ago
arch/x86/include/asm/cpufeatures.h | 1 +
arch/x86/kvm/cpuid.c               | 3 ++-
2 files changed, 3 insertions(+), 1 deletion(-)
[PATCH v2] KVM: x86: Advertise AVX512 Bit Matrix Multiply (BMM) to userspace
Posted by Nikunj A Dadhania 2 months ago
Advertise AVX512 Bit Matrix Multiply (BMM) and Bit Reversal instructions to
userspace via CPUID leaf 0x80000021_EAX[23]. This feature enables bit
matrix multiply operations and bit reversal.

While at it, reorder PREFETCHI to match the bit position order in CPUID
leaf 0x80000021_EAX for better organization.

Signed-off-by: Nikunj A Dadhania <nikunj@amd.com>
---

AMD64 Bit Matrix Multiply and Bit Reversal Instructions
Publication #69192 Revision: 1.00
Issue Date: January 2026

https://docs.amd.com/v/u/en-US/69192-PUB
---
 arch/x86/include/asm/cpufeatures.h | 1 +
 arch/x86/kvm/cpuid.c               | 3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/arch/x86/include/asm/cpufeatures.h b/arch/x86/include/asm/cpufeatures.h
index c3b53beb1300..2f1583c4bdc0 100644
--- a/arch/x86/include/asm/cpufeatures.h
+++ b/arch/x86/include/asm/cpufeatures.h
@@ -472,6 +472,7 @@
 #define X86_FEATURE_GP_ON_USER_CPUID	(20*32+17) /* User CPUID faulting */
 
 #define X86_FEATURE_PREFETCHI		(20*32+20) /* Prefetch Data/Instruction to Cache Level */
+#define X86_FEATURE_AVX512_BMM		(20*32+23) /* AVX512 Bit Matrix Multiply instructions */
 #define X86_FEATURE_SBPB		(20*32+27) /* Selective Branch Prediction Barrier */
 #define X86_FEATURE_IBPB_BRTYPE		(20*32+28) /* MSR_PRED_CMD[IBPB] flushes all branch type predictions */
 #define X86_FEATURE_SRSO_NO		(20*32+29) /* CPU is not affected by SRSO */
diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c
index 88a5426674a1..b36e8f10f509 100644
--- a/arch/x86/kvm/cpuid.c
+++ b/arch/x86/kvm/cpuid.c
@@ -1218,11 +1218,12 @@ void kvm_set_cpu_caps(void)
 		F(NULL_SEL_CLR_BASE),
 		/* UpperAddressIgnore */
 		F(AUTOIBRS),
-		F(PREFETCHI),
 		EMULATED_F(NO_SMM_CTL_MSR),
 		/* PrefetchCtlMsr */
 		/* GpOnUserCpuid */
 		/* EPSF */
+		F(PREFETCHI),
+		F(AVX512_BMM),
 		SYNTHESIZED_F(SBPB),
 		SYNTHESIZED_F(IBPB_BRTYPE),
 		SYNTHESIZED_F(SRSO_NO),

base-commit: 0de4a0eec25b9171f2a2abb1a820e125e6797770
-- 
2.48.1
Re: [PATCH v2] KVM: x86: Advertise AVX512 Bit Matrix Multiply (BMM) to userspace
Posted by Sean Christopherson 2 weeks ago
On Tue, 10 Feb 2026 05:35:11 +0000, Nikunj A Dadhania wrote:
> Advertise AVX512 Bit Matrix Multiply (BMM) and Bit Reversal instructions to
> userspace via CPUID leaf 0x80000021_EAX[23]. This feature enables bit
> matrix multiply operations and bit reversal.
> 
> While at it, reorder PREFETCHI to match the bit position order in CPUID
> leaf 0x80000021_EAX for better organization.
> 
> [...]

Applied to kvm-x86 misc, back on March 12th.  Thanks!

[1/1] KVM: x86: Advertise AVX512 Bit Matrix Multiply (BMM) to userspace
      https://github.com/kvm-x86/linux/commit/de0bfdc7137d

--
https://github.com/kvm-x86/linux/tree/next
Re: [PATCH v2] KVM: x86: Advertise AVX512 Bit Matrix Multiply (BMM) to userspace
Posted by Nikunj A. Dadhania 1 month ago
On 2/10/2026 11:05 AM, Nikunj A Dadhania wrote:
> Advertise AVX512 Bit Matrix Multiply (BMM) and Bit Reversal instructions to
> userspace via CPUID leaf 0x80000021_EAX[23]. This feature enables bit
> matrix multiply operations and bit reversal.
> 
> While at it, reorder PREFETCHI to match the bit position order in CPUID
> leaf 0x80000021_EAX for better organization.
> 
> Signed-off-by: Nikunj A Dadhania <nikunj@amd.com>
> ---

A gentle reminder.

> 
> AMD64 Bit Matrix Multiply and Bit Reversal Instructions
> Publication #69192 Revision: 1.00
> Issue Date: January 2026
> 
> https://docs.amd.com/v/u/en-US/69192-PUB
> ---
>  arch/x86/include/asm/cpufeatures.h | 1 +
>  arch/x86/kvm/cpuid.c               | 3 ++-
>  2 files changed, 3 insertions(+), 1 deletion(-)