[PATCH v7 081/120] x86/cpuid: Parse CPUID(0xa) and CPUID(0x1c)

From: Ahmed S. Darwish

Date: Thu May 28 2026 - 12:03:58 EST


Parse CPUID(0xa) and CPUID(0x1c).

This allows their call sites to be converted to the CPUID APIs next.

Signed-off-by: Ahmed S. Darwish <darwi@xxxxxxxxxxxxx>
---
arch/x86/include/asm/cpuid/types.h | 2 ++
arch/x86/kernel/cpu/cpuid_parser.h | 4 ++++
2 files changed, 6 insertions(+)

diff --git a/arch/x86/include/asm/cpuid/types.h b/arch/x86/include/asm/cpuid/types.h
index 91ed4dd3c6c2..81a84483297c 100644
--- a/arch/x86/include/asm/cpuid/types.h
+++ b/arch/x86/include/asm/cpuid/types.h
@@ -215,11 +215,13 @@ struct cpuid_leaves {
CPUID_LEAF ( 0x5, 0 );
CPUID_LEAF ( 0x6, 0 );
CPUID_LEAF ( 0x9, 0 );
+ CPUID_LEAF ( 0xa, 0 );
CPUID_LEAF ( 0x12, 0 );
CPUID_LEAF ( 0x12, 1 );
CPUID_LEAF_N ( 0x12, 8 );
CPUID_LEAF ( 0x15, 0 );
CPUID_LEAF ( 0x16, 0 );
+ CPUID_LEAF ( 0x1c, 0 );
CPUID_LEAF ( 0x80000000, 0 );
CPUID_LEAF ( 0x80000002, 0 );
CPUID_LEAF ( 0x80000003, 0 );
diff --git a/arch/x86/kernel/cpu/cpuid_parser.h b/arch/x86/kernel/cpu/cpuid_parser.h
index d12d1c2b459b..bd3c99cb985c 100644
--- a/arch/x86/kernel/cpu/cpuid_parser.h
+++ b/arch/x86/kernel/cpu/cpuid_parser.h
@@ -149,11 +149,13 @@ struct cpuid_parse_entry {
CPUID_PARSE_ENTRY ( 0x5, 0, generic ), \
CPUID_PARSE_ENTRY ( 0x6, 0, generic ), \
CPUID_PARSE_ENTRY ( 0x9, 0, 0x9 ), \
+ CPUID_PARSE_ENTRY ( 0xa, 0, generic ), \
CPUID_PARSE_ENTRY ( 0x12, 0, 0x12 ), \
CPUID_PARSE_ENTRY ( 0x12, 1, 0x12 ), \
CPUID_PARSE_ENTRY_N ( 0x12, sgx_epc_sections ), \
CPUID_PARSE_ENTRY ( 0x15, 0, generic ), \
CPUID_PARSE_ENTRY ( 0x16, 0, generic ), \
+ CPUID_PARSE_ENTRY ( 0x1c, 0, generic ), \
CPUID_PARSE_ENTRY ( 0x80000000, 0, 0x80000000 ), \
CPUID_PARSE_ENTRY ( 0x80000002, 0, generic ), \
CPUID_PARSE_ENTRY ( 0x80000003, 0, generic ), \
@@ -205,9 +207,11 @@ struct cpuid_vendor_entry {
/* Leaf Vendor list */ \
CPUID_VENDOR_ENTRY(0x2, X86_VENDOR_INTEL, X86_VENDOR_CENTAUR, X86_VENDOR_ZHAOXIN),\
CPUID_VENDOR_ENTRY(0x4, X86_VENDOR_INTEL, X86_VENDOR_CENTAUR, X86_VENDOR_ZHAOXIN),\
+ CPUID_VENDOR_ENTRY(0xa, X86_VENDOR_INTEL, X86_VENDOR_CENTAUR, X86_VENDOR_ZHAOXIN),\
CPUID_VENDOR_ENTRY(0x12, X86_VENDOR_INTEL), \
CPUID_VENDOR_ENTRY(0x15, X86_VENDOR_INTEL, X86_VENDOR_CENTAUR, X86_VENDOR_ZHAOXIN),\
CPUID_VENDOR_ENTRY(0x16, X86_VENDOR_INTEL), \
+ CPUID_VENDOR_ENTRY(0x1c, X86_VENDOR_INTEL), \
CPUID_VENDOR_ENTRY(0x8000001d, X86_VENDOR_AMD, X86_VENDOR_HYGON), \
CPUID_VENDOR_ENTRY(0x80860000, X86_VENDOR_TRANSMETA), \
CPUID_VENDOR_ENTRY(0x80860001, X86_VENDOR_TRANSMETA), \
--
2.54.0