Add ARM Cortex A520 little core uarch (#367)
Example Samsung S24 sm-s921u
SoC name: Unknown
Microarchitectures:
1x Cortex-X4
5x Cortex-A720
2x Cortex-A520
Cores:
0: 1 processor (0), ARM Cortex-X4
1: 1 processor (1), ARM Cortex-A720
2: 1 processor (2), ARM Cortex-A720
3: 1 processor (3), ARM Cortex-A720
4: 1 processor (4), ARM Cortex-A720
5: 1 processor (5), ARM Cortex-A720
6: 1 processor (6), ARM Cortex-A520
7: 1 processor (7), ARM Cortex-A520
Clusters:
0: 1 processor (0), 0: 1 core (0), ARM Cortex-X4
1: 3 processors (1-3), 1: 3 cores (1-3), ARM Cortex-A720
2: 2 processors (4-5), 2: 2 cores (4-5), ARM Cortex-A720
3: 2 processors (6-7), 3: 2 cores (6-7), ARM Cortex-A520
Logical processors (System ID):
0 (7)
1 (2)
2 (3)
3 (4)
4 (5)
5 (6)
6 (0)
7 (1)
diff --git a/src/arm/linux/aarch32-isa.c b/src/arm/linux/aarch32-isa.c
index e881950..5a9f2cc 100644
--- a/src/arm/linux/aarch32-isa.c
+++ b/src/arm/linux/aarch32-isa.c
@@ -69,6 +69,7 @@
* - Processors with Cortex-A77 cores
* - Processors with Cortex-A78 cores
* - Processors with Cortex-A510 cores
+ * - Processors with Cortex-A520 cores
* - Processors with Cortex-A710 cores
* - Processors with Cortex-A715 cores
* - Processors with Cortex-X1 cores
diff --git a/src/arm/midr.h b/src/arm/midr.h
index aefb47a..cf7cf41 100644
--- a/src/arm/midr.h
+++ b/src/arm/midr.h
@@ -221,6 +221,9 @@
case UINT32_C(0x4100D030): /* Cortex-A53 */
case UINT32_C(0x4100D050): /* Cortex-A55 */
case UINT32_C(0x4100D460): /* Cortex-A510 */
+#if CPUINFO_ARCH_ARM64
+ case UINT32_C(0x4100D800): /* Cortex-A520 */
+#endif /* CPUINFO_ARCH_ARM64 */
/* Cortex-A53 is usually in LITTLE role, but can be in
* big role w.r.t. Cortex-A35 */
return 2;
diff --git a/src/arm/uarch.c b/src/arm/uarch.c
index a2999e3..e787ec0 100644
--- a/src/arm/uarch.c
+++ b/src/arm/uarch.c
@@ -126,6 +126,9 @@
case 0xD4F: /* Neoverse V2 */
*uarch = cpuinfo_uarch_neoverse_v2;
break;
+ case 0xD80: /* Cortex-A520 */
+ *uarch = cpuinfo_uarch_cortex_a520;
+ break;
case 0xD81: /* Cortex-A720 */
*uarch = cpuinfo_uarch_cortex_a720;
break;
diff --git a/tools/cpu-info.c b/tools/cpu-info.c
index fe197ab..863efd5 100644
--- a/tools/cpu-info.c
+++ b/tools/cpu-info.c
@@ -202,6 +202,8 @@
return "Cortex-A78";
case cpuinfo_uarch_cortex_a510:
return "Cortex-A510";
+ case cpuinfo_uarch_cortex_a520:
+ return "Cortex-A520";
case cpuinfo_uarch_cortex_a710:
return "Cortex-A710";
case cpuinfo_uarch_cortex_a715: