summaryrefslogtreecommitdiff
path: root/arch/arm/include
diff options
context:
space:
mode:
authorMarek Vasut <[email protected]>2026-03-30 01:14:12 +0200
committerTom Rini <[email protected]>2026-04-13 17:34:02 -0600
commitb0d731d9563cd6fb8bd6c8304065e550d97a22c7 (patch)
treece81b22ed3d94a49ecb21125a24b1bddca49b91e /arch/arm/include
parentc8afe949d3dd5b2a2adb0e4f476372f2df8512de (diff)
arm: Add ARMv8-M aarch32 support
Add configuration for ARMv8-M aarch32 core, which are currently Cortex-M23/M33 cores. These cores are treated similar to ARMv7-M cores, except the code has to be compiled with matching compiler -march=armv8-m.main flag . These cores have no MMU, they have MPU, which is currently not configured. Unlike ARMv7-M, these cores have 512 interrupt vectors. While the SYS_ARM_ARCH should be set to 8, it is set to 7 because all of the initialization code is built from arch/arm/cpu/armv7m and not armv8. Furthermore, CONFIG_ARM64 must be disabled, although DTs for devices using these cores do come from arch/arm64/boot/dts. To avoid excess duplication in Makefiles, introduce one new Kconfig symbol, CPU_V7M_V8M. The CPU_V7M_V8M cover both ARMv7-M and ARMv8-M cores. Signed-off-by: Marek Vasut <[email protected]> Acked-by: Udit Kumar <[email protected]>
Diffstat (limited to 'arch/arm/include')
-rw-r--r--arch/arm/include/asm/armv7_mpu.h2
-rw-r--r--arch/arm/include/asm/unified.h2
2 files changed, 2 insertions, 2 deletions
diff --git a/arch/arm/include/asm/armv7_mpu.h b/arch/arm/include/asm/armv7_mpu.h
index 16b9d0d1aeb..4a6524290d3 100644
--- a/arch/arm/include/asm/armv7_mpu.h
+++ b/arch/arm/include/asm/armv7_mpu.h
@@ -11,7 +11,7 @@
#include <linux/bitops.h>
#endif
-#ifdef CONFIG_CPU_V7M
+#ifdef CONFIG_CPU_V7M_V8M
#define AP_SHIFT 24
#define XN_SHIFT 28
#define TEX_SHIFT 19
diff --git a/arch/arm/include/asm/unified.h b/arch/arm/include/asm/unified.h
index 2fae54ebd89..53715db4207 100644
--- a/arch/arm/include/asm/unified.h
+++ b/arch/arm/include/asm/unified.h
@@ -12,7 +12,7 @@
.syntax unified
#endif
-#ifdef CONFIG_CPU_V7M
+#ifdef CONFIG_CPU_V7M_V8M
#define AR_CLASS(x...)
#define M_CLASS(x...) x
#else