aboutsummaryrefslogtreecommitdiffstats
path: root/tools/arch
diff options
context:
space:
mode:
authorAhmed S. Darwish <darwi@linutronix.de>2025-03-24 15:20:36 +0100
committerIngo Molnar <mingo@kernel.org>2025-03-25 09:53:46 +0100
commit87669e74d8481a066eb8d319cef7b2ea93d4e24b (patch)
treee7e432b7b0bb818c2de001121451c600349f7f2f /tools/arch
parenttools/x86/kcpuid: Filter valid CPUID ranges (diff)
downloadlinux-87669e74d8481a066eb8d319cef7b2ea93d4e24b.tar.gz
linux-87669e74d8481a066eb8d319cef7b2ea93d4e24b.zip
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@linutronix.de> Signed-off-by: Ingo Molnar <mingo@kernel.org> Cc: H. Peter Anvin <hpa@zytor.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Josh Poimboeuf <jpoimboe@redhat.com> Link: https://lore.kernel.org/r/20250324142042.29010-16-darwi@linutronix.de
Diffstat (limited to 'tools/arch')
-rw-r--r--tools/arch/x86/kcpuid/kcpuid.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/tools/arch/x86/kcpuid/kcpuid.c b/tools/arch/x86/kcpuid/kcpuid.c
index fe3d0581afd1..7dc6b9235d02 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;
}
}