Skip to content

Commit f9a0324

Browse files
authored
Detect AMD Family 26 extended models for cpuinfo_uarch_zen6 (#371)
* Fix cpuinfo_x86_normalize_brand_string unannotated fall-through warning * Detect AMD Family 26 extended models for cpuinfo_uarch_zen6
1 parent b8ecd2f commit f9a0324

File tree

3 files changed

+19
-1
lines changed

3 files changed

+19
-1
lines changed

include/cpuinfo.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -431,6 +431,8 @@ enum cpuinfo_uarch {
431431
cpuinfo_uarch_zen4 = 0x0020010C,
432432
/** AMD Zen 5 microarchitecture. */
433433
cpuinfo_uarch_zen5 = 0x0020010D,
434+
/** AMD Zen 6 microarchitecture. */
435+
cpuinfo_uarch_zen6 = 0x0020010E,
434436

435437
/** NSC Geode and AMD Geode GX and LX. */
436438
cpuinfo_uarch_geode = 0x00200200,

src/x86/uarch.c

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -402,7 +402,21 @@ enum cpuinfo_uarch cpuinfo_x86_decode_uarch(
402402
}
403403
break;
404404
case 0x1a:
405-
return cpuinfo_uarch_zen5;
405+
switch (model_info->extended_model) {
406+
case 0x0: // model 00h..2Fh
407+
case 0x1:
408+
case 0x2:
409+
case 0x4: // model 40h..4Fh
410+
return cpuinfo_uarch_zen5;
411+
412+
case 0x5: // model 50h..5Fh
413+
case 0x8: // model 80h..AFh
414+
case 0x9:
415+
case 0xA:
416+
case 0xC: // model C0h..CFh
417+
return cpuinfo_uarch_zen6;
418+
}
419+
break;
406420
}
407421
break;
408422
case cpuinfo_vendor_hygon:

tools/cpu-info.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,8 @@ static const char* uarch_to_string(enum cpuinfo_uarch uarch) {
144144
return "Zen 4";
145145
case cpuinfo_uarch_zen5:
146146
return "Zen 5";
147+
case cpuinfo_uarch_zen6:
148+
return "Zen 6";
147149
case cpuinfo_uarch_geode:
148150
return "Geode";
149151
case cpuinfo_uarch_bobcat:

0 commit comments

Comments
 (0)