diff --git a/src/x86/uarch.c b/src/x86/uarch.c index 489e1a8..85c531a 100644 --- a/src/x86/uarch.c +++ b/src/x86/uarch.c @@ -109,7 +109,8 @@ enum { UARCH_ZEN, UARCH_ZEN_PLUS, UARCH_ZEN2, - UARCH_ZEN3 + UARCH_ZEN3, + UARCH_ZEN3_PLUS }; struct uarch { @@ -361,6 +362,7 @@ struct uarch* get_uarch_from_cpuid_amd(uint32_t ef, uint32_t f, uint32_t em, uin CHECK_UARCH(arch, 8, 15, 9, 0, 2, "Zen 2", UARCH_ZEN2, 7) // Steam Deck (instlatx64) CHECK_UARCH(arch, 10, 15, 0, 1, NA, "Zen 3", UARCH_ZEN3, 7) // instlatx64 CHECK_UARCH(arch, 10, 15, 2, 1, NA, "Zen 3", UARCH_ZEN3, 7) // instlatx64 + CHECK_UARCH(arch, 10, 15, 4, 4, NA, "Zen 3+", UARCH_ZEN3_PLUS, 6) // instlatx64 (they say it is Zen3...) CHECK_UARCH(arch, 10, 15, 5, 0, NA, "Zen 3", UARCH_ZEN3, 7) // instlatx64 UARCH_END @@ -421,6 +423,7 @@ int get_number_of_vpus(struct cpuInfo* cpu) { // AMD case UARCH_ZEN2: case UARCH_ZEN3: + case UARCH_ZEN3_PLUS: return 2; default: return 1;