[PATCH v2] arm: Add ARMv8-M aarch32 support

Kumar, Udit u-kumar1 at ti.com
Tue Mar 31 08:04:38 CEST 2026



On 3/30/2026 4:44 AM, Marek Vasut wrote:
> 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 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 <marek.vasut+renesas at mailbox.org>
> ---
> Cc: Casey Connolly <casey.connolly at linaro.org>
> Cc: Heinrich Schuchardt <xypron.glpk at gmx.de>
> Cc: Ilias Apalodimas <ilias.apalodimas at linaro.org>
> Cc: Jerome Forissier <jerome.forissier at arm.com> <jerome at forissier.org>
> Cc: Tom Rini <trini at konsulko.com>
> Cc: Udit Kumar <u-kumar1 at ti.com>
> Cc: u-boot at lists.denx.de
> ---
> V2: - Rename CPU_V78M to CPU_V7M_V8M
>     - Isolate V7M specific and otherwise option bits in cpu.c

Thanks for v2 Marek,
Apart of name of config discussion over v1 [0].

For changes,
Acked-by: Udit Kumar <u-kumar1 at ti.com>

[0] :
https://lore.kernel.org/all/30108d25-efd6-4ff6-9bfe-0dc55670a83f@mailbox.org/


> ---
>  Makefile                         |  8 ++++++--
>  arch/arm/Kconfig                 | 15 +++++++++++++--
>  arch/arm/Makefile                |  2 ++
>  arch/arm/cpu/armv7m/cpu.c        | 10 ++++++++--
>  arch/arm/include/asm/armv7_mpu.h |  2 +-
>  arch/arm/include/asm/unified.h   |  2 +-
>  arch/arm/lib/Makefile            |  6 +++---
>  arch/arm/lib/bootm.c             |  2 +-
>  arch/arm/lib/crt0.S              |  2 +-
>  arch/arm/lib/relocate.S          |  4 ++--
>  arch/arm/lib/semihosting.S       |  2 +-
>  arch/arm/lib/vectors_m.S         |  6 +++++-
>  cmd/Kconfig                      |  2 +-
>  dts/Makefile                     |  4 ++++
>  lib/efi_selftest/Makefile        |  2 +-
> [..]



More information about the U-Boot mailing list