From 87669e74d8481a066eb8d319cef7b2ea93d4e24b Mon Sep 17 00:00:00 2001 From: "Ahmed S. Darwish" Date: Mon, 24 Mar 2025 15:20:36 +0100 Subject: [PATCH] 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 Signed-off-by: Ingo Molnar Cc: H. Peter Anvin Cc: Linus Torvalds Cc: Josh Poimboeuf Link: https://lore.kernel.org/r/20250324142042.29010-16-darwi@linutronix.de --- 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 fe3d0581afd15..7dc6b9235d023 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; } } -- 2.47.2