[tip: x86/cpu] tools/x86/kcpuid: Define Transmeta and Centaur index ranges

From: tip-bot2 for Ahmed S. Darwish
Date: Tue Mar 25 2025 - 05:06:40 EST


The following commit has been merged into the x86/cpu branch of tip:

Commit-ID: 87669e74d8481a066eb8d319cef7b2ea93d4e24b
Gitweb: https://git.kernel.org/tip/87669e74d8481a066eb8d319cef7b2ea93d4e24b
Author: Ahmed S. Darwish <darwi@xxxxxxxxxxxxx>
AuthorDate: Mon, 24 Mar 2025 15:20:36 +01:00
Committer: Ingo Molnar <mingo@xxxxxxxxxx>
CommitterDate: Tue, 25 Mar 2025 09:53:46 +01:00

tools/x86/kcpuid: Define Transmeta and Centaur index ranges

Explicitly define the CPUID index ranges for Transmeta (0x80860000) and
Centaur/Zhaoxin (0xc0000000).

Without these explicit definitions, their respective CPUID indices would
be skipped during CSV bitfield parsing.

Signed-off-by: Ahmed S. Darwish <darwi@xxxxxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
Link: https://lore.kernel.org/r/20250324142042.29010-16-darwi@xxxxxxxxxxxxx
---
tools/arch/x86/kcpuid/kcpuid.c | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/tools/arch/x86/kcpuid/kcpuid.c b/tools/arch/x86/kcpuid/kcpuid.c
index fe3d058..7dc6b92 100644
--- a/tools/arch/x86/kcpuid/kcpuid.c
+++ b/tools/arch/x86/kcpuid/kcpuid.c
@@ -69,6 +69,8 @@ struct cpuid_func {
enum range_index {
RANGE_STD = 0, /* Standard */
RANGE_EXT = 0x80000000, /* Extended */
+ RANGE_TSM = 0x80860000, /* Transmeta */
+ RANGE_CTR = 0xc0000000, /* Centaur/Zhaoxin */
};

#define CPUID_INDEX_MASK 0xffff0000
@@ -85,6 +87,8 @@ struct cpuid_range {
static struct cpuid_range ranges[] = {
{ .index = RANGE_STD, },
{ .index = RANGE_EXT, },
+ { .index = RANGE_TSM, },
+ { .index = RANGE_CTR, },
};

static char *range_to_str(struct cpuid_range *range)
@@ -92,6 +96,8 @@ static char *range_to_str(struct cpuid_range *range)
switch (range->index) {
case RANGE_STD: return "Standard";
case RANGE_EXT: return "Extended";
+ case RANGE_TSM: return "Transmeta";
+ case RANGE_CTR: return "Centaur";
default: return NULL;
}
}