Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions include/cpuinfo.h
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand All @@ -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,
Expand Down
27 changes: 25 additions & 2 deletions src/x86/uarch.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
10 changes: 10 additions & 0 deletions tools/cpu-info.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 "Golden Cove";
case cpuinfo_uarch_redwood_cove:
return "Redwood Cove";
case cpuinfo_uarch_lion_cove:
return "Lion Cove";
case cpuinfo_uarch_cougar_cove:
return "Cougar Cove";
case cpuinfo_uarch_skymont:
return "Skymont";
case cpuinfo_uarch_palm_cove:
return "Palm Cove";
case cpuinfo_uarch_sunny_cove:
Expand Down