diff options
-rw-r--r-- | include/cpuinfo.h | 2 | ||||
-rw-r--r-- | src/x86/uarch.c | 7 | ||||
-rw-r--r-- | tools/cpu-info.c | 4 |
3 files changed, 10 insertions, 3 deletions
diff --git a/include/cpuinfo.h b/include/cpuinfo.h index a9a49e4..69923d1 100644 --- a/include/cpuinfo.h +++ b/include/cpuinfo.h @@ -334,6 +334,8 @@ enum cpuinfo_uarch { cpuinfo_uarch_bobcat = 0x00200201, /** AMD Jaguar mobile microarchitecture. */ cpuinfo_uarch_jaguar = 0x00200202, + /** AMD Puma mobile microarchitecture. */ + cpuinfo_uarch_puma = 0x00200203, /** ARM7 series. */ cpuinfo_uarch_arm7 = 0x00300100, diff --git a/src/x86/uarch.c b/src/x86/uarch.c index 971b18c..2f83229 100644 --- a/src/x86/uarch.c +++ b/src/x86/uarch.c @@ -181,8 +181,11 @@ enum cpuinfo_uarch cpuinfo_x86_decode_uarch( } break; case 0x16: - return cpuinfo_uarch_jaguar; - break; + if (model_info->model >= 0x03) { + return cpuinfo_uarch_puma; + } else { + return cpuinfo_uarch_jaguar; + } case 0x17: // TODO: revise when CPUs are out return cpuinfo_uarch_zen; diff --git a/tools/cpu-info.c b/tools/cpu-info.c index 445b433..e1a193b 100644 --- a/tools/cpu-info.c +++ b/tools/cpu-info.c @@ -117,7 +117,9 @@ static const char* uarch_to_string(enum cpuinfo_uarch uarch) { case cpuinfo_uarch_bobcat: return "Bobcat"; case cpuinfo_uarch_jaguar: - return "Jaguar/Puma"; + return "Jaguar"; + case cpuinfo_uarch_puma: + return "Puma"; case cpuinfo_uarch_xscale: return "XScale"; case cpuinfo_uarch_arm7: |