aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/cpuinfo.h2
-rw-r--r--src/x86/uarch.c7
-rw-r--r--tools/cpu-info.c4
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: