From a2a10e949042a0705410b4fc1bb6a668bc568971 Mon Sep 17 00:00:00 2001 From: Richard Winterton Date: Mon, 20 Oct 2025 18:30:44 -0600 Subject: [PATCH 1/2] adding-new-intel-cpuids --- include/cpuinfo.h | 10 ++++++++++ src/x86/uarch.c | 27 +++++++++++++++++++++++++-- tools/cpu-info.c | 10 ++++++++++ 3 files changed, 45 insertions(+), 2 deletions(-) diff --git a/include/cpuinfo.h b/include/cpuinfo.h index 0407d1c5..0de6164c 100644 --- a/include/cpuinfo.h +++ b/include/cpuinfo.h @@ -355,6 +355,14 @@ enum cpuinfo_uarch { cpuinfo_uarch_sunny_cove = 0x0010020C, /** Intel Willow Cove microarchitecture (10 nm, Tiger Lake). */ cpuinfo_uarch_willow_cove = 0x0010020D, + /** Intel Golden Cove microarchitecture (Alder Lake P-Core) */ + cpuinfo_uarch_golden_cove = 0x0010020E, + /** Intel Redwood Cove microarchitecture (Meteor Lake P-Core). */ + cpuinfo_uarch_redwood_cove = 0x0010020F, + /** Intel Lion Cove microarchitecture (Lunar Lake P-Core). */ + cpuinfo_uarch_lion_cove = 0x00100210, + /** Intel Cougar Cove microarchitecture (Panther Lake P-Core). */ + cpuinfo_uarch_cougar_cove = 0x00100211, /** Pentium 4 with Willamette, Northwood, or Foster cores. */ cpuinfo_uarch_willamette = 0x00100300, @@ -381,6 +389,8 @@ enum cpuinfo_uarch { cpuinfo_uarch_crestmont = 0x00100408, /** Intel Darkmont microarchitecture (e-core used in Clearwater Forest). */ cpuinfo_uarch_darkmont = 0x00100409, + /** Intel Skymont microarchitecture (Lunar Lake E-Core). */ + cpuinfo_uarch_skymont = 0x0010040A, /** Intel Knights Ferry HPC boards. */ cpuinfo_uarch_knights_ferry = 0x00100500, diff --git a/src/x86/uarch.c b/src/x86/uarch.c index a0c900f4..92eb0ed2 100644 --- a/src/x86/uarch.c +++ b/src/x86/uarch.c @@ -193,8 +193,31 @@ enum cpuinfo_uarch cpuinfo_x86_decode_uarch( case 0x96: // Elkhart Lake case 0x9C: // Jacobsville return cpuinfo_uarch_tremont; - case 0xBE: // Alder Lake-N - return cpuinfo_uarch_gracemont; + case 0x8F: // Sapphire Rapids (Golden Cove) + return cpuinfo_uarch_golden_cove; + case 0x97: // Alder Lake S (Golden Cove) + case 0x9A: // Alder Lake (Golden Cove) + case 0x9D: // Alder Lake P (Golden Cove) + case 0xB7: // Raptor Lake (Golden Cove) + case 0xBA: // Raptor Lake S (Golden Cove) + case 0xBF: // Raptor Lake HX (Golden Cove) + return cpuinfo_uarch_golden_cove; + case 0xBE: // Alder Lake N / Raptor Lake N (Golden Cove) + return cpuinfo_uarch_gracemont; + case 0xAD: // Granite Rapids (Redood Cove) + return cpuinfo_uarch_redwood_cove; + case 0xAA: // Meteor Lake P/M (Redwood Cove) + case 0xAC: // Meteor Lake S (Redwood Cove) + case 0xAE: // Meteor Lake U/Y (Redwood Cove) + return cpuinfo_uarch_redwood_cove; + case 0xB5: // Arrow Lake U + case 0xC5: // Arrow Lake P + case 0xC6: // Arrow Lake S/HX + return cpuinfo_uarch_lion_cove; + case 0xBD: // Lunar Lake, (Lion Cove) + return cpuinfo_uarch_lion_cove; + case 0xCC: // Panther Lake + return cpuinfo_uarch_cougar_cove; case 0xAF: // Sierra Forest return cpuinfo_uarch_crestmont; case 0xDD: // Clearwater Forest diff --git a/tools/cpu-info.c b/tools/cpu-info.c index 9bed0e97..d013e70c 100644 --- a/tools/cpu-info.c +++ b/tools/cpu-info.c @@ -76,6 +76,16 @@ static const char* uarch_to_string(enum cpuinfo_uarch uarch) { return "Broadwell"; case cpuinfo_uarch_sky_lake: return "Sky Lake"; + case cpuinfo_uarch_golden_cove: + return "Alder Lake / Raptor Lake / Sapphire Rapids"; + case cpuinfo_uarch_redwood_cove: + return "Meteor Lake / Granite Rapids"; + case cpuinfo_uarch_lion_cove: + return "Lunar Lake / Arrow Lake"; + case cpuinfo_uarch_cougar_cove: + return "Panther Lake Core"; + case cpuinfo_uarch_skymont: + return "Lunar Lake / Arrow Lake E-Core"; case cpuinfo_uarch_palm_cove: return "Palm Cove"; case cpuinfo_uarch_sunny_cove: From f6c8ad75aec4f21915d874e8a57b87696e96f38a Mon Sep 17 00:00:00 2001 From: Richard Winterton Date: Tue, 21 Oct 2025 10:41:06 -0600 Subject: [PATCH 2/2] Update CPU architecture names in cpu-info.c Changed the processor names to the microarchtecture names for consistency and accuracy. --- tools/cpu-info.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tools/cpu-info.c b/tools/cpu-info.c index d013e70c..543b9c53 100644 --- a/tools/cpu-info.c +++ b/tools/cpu-info.c @@ -77,15 +77,15 @@ static const char* uarch_to_string(enum cpuinfo_uarch uarch) { case cpuinfo_uarch_sky_lake: return "Sky Lake"; case cpuinfo_uarch_golden_cove: - return "Alder Lake / Raptor Lake / Sapphire Rapids"; + return "Golden Cove"; case cpuinfo_uarch_redwood_cove: - return "Meteor Lake / Granite Rapids"; + return "Redwood Cove"; case cpuinfo_uarch_lion_cove: - return "Lunar Lake / Arrow Lake"; + return "Lion Cove"; case cpuinfo_uarch_cougar_cove: - return "Panther Lake Core"; + return "Cougar Cove"; case cpuinfo_uarch_skymont: - return "Lunar Lake / Arrow Lake E-Core"; + return "Skymont"; case cpuinfo_uarch_palm_cove: return "Palm Cove"; case cpuinfo_uarch_sunny_cove: