Index | Thread | Search

From:
Jonathan Gray <jsg@jsg.id.au>
Subject:
recognise Arm C1 CPUs
To:
tech@openbsd.org
Date:
Wed, 10 Sep 2025 14:28:53 +1000

Download raw body.

Thread
  • Jonathan Gray:

    recognise Arm C1 CPUs

C1-Nano
https://developer.arm.com/documentation/107753/latest/
codename Nevis
https://github.com/ARM-software/arm-trusted-firmware/blob/master/include/lib/cpus/aarch64/nevis.h

C1-Premium
https://developer.arm.com/documentation/109416/latest/
codename Alto
https://github.com/ARM-software/arm-trusted-firmware/blob/master/include/lib/cpus/aarch64/cortex_alto.h

C1-Pro
https://developer.arm.com/documentation/107771/latest/
codename Gelas
https://github.com/ARM-software/arm-trusted-firmware/blob/master/include/lib/cpus/aarch64/cortex_gelas.h

C1-Ultra
https://developer.arm.com/documentation/108014/latest/
codename Travis
https://github.com/ARM-software/arm-trusted-firmware/blob/master/include/lib/cpus/aarch64/travis.h

diff --git sys/arch/arm64/arm64/cpu.c sys/arch/arm64/arm64/cpu.c
index 2e333ebbbad..9ed7aceed6f 100644
--- sys/arch/arm64/arm64/cpu.c
+++ sys/arch/arm64/arm64/cpu.c
@@ -102,8 +102,12 @@
 #define CPU_PART_CORTEX_A725	0xd87
 #define CPU_PART_CORTEX_A520AE	0xd88
 #define CPU_PART_CORTEX_A720AE	0xd89
+#define CPU_PART_C1_NANO	0xd8a
+#define CPU_PART_C1_PRO		0xd8b
+#define CPU_PART_C1_ULTRA	0xd8c
 #define CPU_PART_NEOVERSE_N3	0xd8e
 #define CPU_PART_CORTEX_A320	0xd8f
+#define CPU_PART_C1_PREMIUM	0xd90
 
 /* Cavium */
 #define CPU_PART_THUNDERX_T88	0x0a1
@@ -151,6 +155,10 @@ struct cpu_cores cpu_cores_none[] = {
 };
 
 struct cpu_cores cpu_cores_arm[] = {
+	{ CPU_PART_C1_NANO, "C1-Nano" },
+	{ CPU_PART_C1_PREMIUM, "C1-Premium" },
+	{ CPU_PART_C1_PRO, "C1-Pro" },
+	{ CPU_PART_C1_ULTRA, "C1-Ultra" },
 	{ CPU_PART_CORTEX_A34, "Cortex-A34" },
 	{ CPU_PART_CORTEX_A35, "Cortex-A35" },
 	{ CPU_PART_CORTEX_A53, "Cortex-A53" },