From 70f57e4b122e2900895c758282ecb3dd5d7154d1 Mon Sep 17 00:00:00 2001 From: Anthony Date: Tue, 21 Oct 2025 11:47:17 +1100 Subject: [PATCH 1/3] Add A720, 725 and X4 identifiers --- src/arm/uarch.c | 9 +++++++++ tools/cpu-info.c | 6 ++++++ 2 files changed, 15 insertions(+) diff --git a/src/arm/uarch.c b/src/arm/uarch.c index 68531e4d..24b1d8a7 100644 --- a/src/arm/uarch.c +++ b/src/arm/uarch.c @@ -125,6 +125,15 @@ void cpuinfo_arm_decode_vendor_uarch( case 0xD4F: /* Neoverse V2 */ *uarch = cpuinfo_uarch_neoverse_v2; break; + case 0xD81: /* Cortex-A720 */ + *uarch = cpuinfo_uarch_cortex_a720; + break; + case 0xD82: /* Cortex-X4 */ + *uarch = cpuinfo_uarch_cortex_x4; + break; + case 0xD87: /* Cortex-A725 */ + *uarch = cpuinfo_uarch_cortex_a725; + break; default: switch (midr_get_part(midr) >> 8) { #if CPUINFO_ARCH_ARM diff --git a/tools/cpu-info.c b/tools/cpu-info.c index b896b270..f396a9d7 100644 --- a/tools/cpu-info.c +++ b/tools/cpu-info.c @@ -196,12 +196,18 @@ static const char* uarch_to_string(enum cpuinfo_uarch uarch) { return "Cortex-A710"; case cpuinfo_uarch_cortex_a715: return "Cortex-A715"; + case cpuinfo_uarch_cortex_a720: + return "Cortex-A720"; + case cpuinfo_uarch_cortex_a725: + return "Cortex-A725"; case cpuinfo_uarch_cortex_x1: return "Cortex-X1"; case cpuinfo_uarch_cortex_x2: return "Cortex-X2"; case cpuinfo_uarch_cortex_x3: return "Cortex-X3"; + case cpuinfo_uarch_cortex_x4: + return "Cortex-X4"; case cpuinfo_uarch_neoverse_n1: return "Neoverse N1"; case cpuinfo_uarch_neoverse_e1: From 3d49f7731c0ad2f9a8c9d43fa745dd1b5ed8a6a2 Mon Sep 17 00:00:00 2001 From: Anthony Date: Tue, 21 Oct 2025 11:51:28 +1100 Subject: [PATCH 2/3] Add the X4 successor as well --- src/arm/uarch.c | 3 +++ tools/cpu-info.c | 2 ++ 2 files changed, 5 insertions(+) diff --git a/src/arm/uarch.c b/src/arm/uarch.c index 24b1d8a7..f8a65f67 100644 --- a/src/arm/uarch.c +++ b/src/arm/uarch.c @@ -131,6 +131,9 @@ void cpuinfo_arm_decode_vendor_uarch( case 0xD82: /* Cortex-X4 */ *uarch = cpuinfo_uarch_cortex_x4; break; + case 0xD85: /* Cortex-X925 */ + *uarch = cpuinfo_uarch_cortex_x925; + break; case 0xD87: /* Cortex-A725 */ *uarch = cpuinfo_uarch_cortex_a725; break; diff --git a/tools/cpu-info.c b/tools/cpu-info.c index f396a9d7..2b83698c 100644 --- a/tools/cpu-info.c +++ b/tools/cpu-info.c @@ -208,6 +208,8 @@ static const char* uarch_to_string(enum cpuinfo_uarch uarch) { return "Cortex-X3"; case cpuinfo_uarch_cortex_x4: return "Cortex-X4"; + case cpuinfo_uarch_cortex_x925: + return "Cortex-X925"; case cpuinfo_uarch_neoverse_n1: return "Neoverse N1"; case cpuinfo_uarch_neoverse_e1: From 0242fc2741502ef73380ad48fdfa9f14cb2f6a6e Mon Sep 17 00:00:00 2001 From: Anthony Date: Tue, 21 Oct 2025 12:01:34 +1100 Subject: [PATCH 3/3] Add enumerators --- include/cpuinfo.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/cpuinfo.h b/include/cpuinfo.h index ea3c1d07..efca5f07 100644 --- a/include/cpuinfo.h +++ b/include/cpuinfo.h @@ -500,6 +500,8 @@ enum cpuinfo_uarch { cpuinfo_uarch_cortex_x3 = 0x00300503, /** ARM Cortex-X4. */ cpuinfo_uarch_cortex_x4 = 0x00300504, + /** ARM Cortex-X925. */ + cpuinfo_uarch_cortex_x925 = 0x00300505, /** ARM Cortex-A510. */ cpuinfo_uarch_cortex_a510 = 0x00300551, @@ -511,6 +513,8 @@ enum cpuinfo_uarch { cpuinfo_uarch_cortex_a715 = 0x00300572, /** ARM Cortex-A720. */ cpuinfo_uarch_cortex_a720 = 0x00300573, + /** ARM Cortex-A725. */ + cpuinfo_uarch_cortex_a725 = 0x00300574, /** Qualcomm Scorpion. */ cpuinfo_uarch_scorpion = 0x00400100,