boards: nordic: Enable CONFIG_HW_STACK_PROTECTION conditionally

All Nordic boards were enabling CONFIG_HW_STACK_PROTECTION
unconditionally, which is usually not a problem except if the particular
application happens to want to disable the MPU (or equivalent hardware
for RISC-V). In that case, the following warning is shown:

warning: HW_STACK_PROTECTION (defined at arch/Kconfig) was assigned the
value 'y' but got the value 'n'.
Check these unsatisfied dependencies: ARCH_HAS_STACK_PROTECTION (=n).

In order to avoid this warning, conditionally enable the hardware stack
protection only when the architecture supports it.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
This commit is contained in:
Carles Cufi 2025-06-20 15:52:06 +02:00 committed by Dan Kalowsky
parent 1142c40c5a
commit 9a9ae6ffdb
63 changed files with 73 additions and 126 deletions

View File

@ -5,4 +5,7 @@
if BOARD_NRF21540DK
config HW_STACK_PROTECTION
default ARCH_HAS_STACK_PROTECTION
endif # BOARD_NRF21540DK

View File

@ -3,9 +3,6 @@
# Enable MPU
CONFIG_ARM_MPU=y
# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y
# enable GPIO
CONFIG_GPIO=y

View File

@ -5,4 +5,7 @@
if BOARD_NRF52833DK
config HW_STACK_PROTECTION
default ARCH_HAS_STACK_PROTECTION
endif # BOARD_NRF52833DK

View File

@ -3,9 +3,6 @@
# Enable MPU
CONFIG_ARM_MPU=y
# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y
# enable GPIO
CONFIG_GPIO=y

View File

@ -3,9 +3,6 @@
# Enable MPU
CONFIG_ARM_MPU=y
# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y
# enable GPIO
CONFIG_GPIO=y

View File

@ -5,4 +5,7 @@
if BOARD_NRF52840DK
config HW_STACK_PROTECTION
default ARCH_HAS_STACK_PROTECTION
endif # BOARD_NRF52840DK

View File

@ -5,9 +5,6 @@
# Enable MPU
CONFIG_ARM_MPU=y
# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y
# Enable UART
CONFIG_SERIAL=y

View File

@ -3,9 +3,6 @@
# Enable MPU
CONFIG_ARM_MPU=y
# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y
# enable GPIO
CONFIG_GPIO=y

View File

@ -6,6 +6,9 @@
if BOARD_NRF52840DONGLE
config HW_STACK_PROTECTION
default ARCH_HAS_STACK_PROTECTION
# To let the nRF5 bootloader load an application, the application
# must be linked after Nordic MBR, that is factory-programmed on the board.

View File

@ -3,9 +3,6 @@
# Enable MPU
CONFIG_ARM_MPU=y
# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y
# enable GPIO
CONFIG_GPIO=y

View File

@ -0,0 +1,11 @@
# nRF52 DK board configuration
# Copyright (c) 2025 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
if BOARD_NRF52DK
config HW_STACK_PROTECTION
default ARCH_HAS_STACK_PROTECTION
endif # BOARD_NRF52DK

View File

@ -3,9 +3,6 @@
# Enable MPU
CONFIG_ARM_MPU=y
# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y
# Enable GPIO
CONFIG_GPIO=y

View File

@ -3,9 +3,6 @@
# Enable MPU
CONFIG_ARM_MPU=y
# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y
# enable GPIO
CONFIG_GPIO=y

View File

@ -3,9 +3,6 @@
# Enable MPU
CONFIG_ARM_MPU=y
# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y
# enable GPIO
CONFIG_GPIO=y

View File

@ -3,6 +3,9 @@
# Copyright (c) 2019 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
config HW_STACK_PROTECTION
default ARCH_HAS_STACK_PROTECTION
if BOARD_NRF5340_AUDIO_DK_NRF5340_CPUAPP || BOARD_NRF5340_AUDIO_DK_NRF5340_CPUAPP_NS
# Code Partition:

View File

@ -3,8 +3,6 @@
CONFIG_ARM_MPU=y
CONFIG_HW_STACK_PROTECTION=y
CONFIG_ARM_TRUSTZONE_M=y
CONFIG_GPIO=y

View File

@ -3,8 +3,6 @@
CONFIG_ARM_MPU=y
CONFIG_HW_STACK_PROTECTION=y
CONFIG_ARM_TRUSTZONE_M=y
CONFIG_TRUSTED_EXECUTION_NONSECURE=y

View File

@ -3,9 +3,6 @@
# Enable MPU
CONFIG_ARM_MPU=y
# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y
# Enable GPIO
CONFIG_GPIO=y

View File

@ -3,6 +3,9 @@
# Copyright (c) 2019-2020 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
config HW_STACK_PROTECTION
default ARCH_HAS_STACK_PROTECTION
if BOARD_NRF5340DK_NRF5340_CPUAPP || BOARD_NRF5340DK_NRF5340_CPUAPP_NS
# Code Partition:

View File

@ -3,9 +3,6 @@
# Enable MPU
CONFIG_ARM_MPU=y
# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y
# Enable TrustZone-M
CONFIG_ARM_TRUSTZONE_M=y

View File

@ -3,9 +3,6 @@
# Enable MPU
CONFIG_ARM_MPU=y
# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y
# Enable TrustZone-M
CONFIG_ARM_TRUSTZONE_M=y

View File

@ -3,9 +3,6 @@
# Enable MPU
CONFIG_ARM_MPU=y
# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y
# enable GPIO
CONFIG_GPIO=y

View File

@ -1,6 +1,9 @@
# Copyright (c) 2024 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
config HW_STACK_PROTECTION
default ARCH_HAS_STACK_PROTECTION
if BOARD_NRF54H20DK_NRF54H20_CPUAPP
config BT_HCI_IPC

View File

@ -13,9 +13,6 @@ CONFIG_USE_DT_CODE_PARTITION=y
# Enable MPU
CONFIG_ARM_MPU=y
# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y
# MPU-based null-pointer dereferencing detection cannot be applied
# as the (0x0 - 0x400) region is unmapped for this target.
CONFIG_NULL_POINTER_EXCEPTION_DETECTION_NONE=y

View File

@ -11,9 +11,6 @@ CONFIG_UART_CONSOLE=y
# Enable MPU
CONFIG_ARM_MPU=y
# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y
# MPU-based null-pointer dereferencing detection cannot be applied
# as the (0x0 - 0x400) region is unmapped for this target.
CONFIG_NULL_POINTER_EXCEPTION_DETECTION_NONE=y

View File

@ -13,9 +13,6 @@ CONFIG_USE_DT_CODE_PARTITION=y
# Enable MPU
CONFIG_ARM_MPU=y
# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y
# MPU-based null-pointer dereferencing detection cannot be applied
# as the (0x0 - 0x400) region is unmapped for this target.
CONFIG_NULL_POINTER_EXCEPTION_DETECTION_NONE=y

View File

@ -13,9 +13,6 @@ CONFIG_USE_DT_CODE_PARTITION=y
# Enable MPU
CONFIG_ARM_MPU=y
# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y
# MPU-based null-pointer dereferencing detection cannot be applied
# as the (0x0 - 0x400) region is unmapped for this target.
CONFIG_NULL_POINTER_EXCEPTION_DETECTION_NONE=y

View File

@ -3,6 +3,9 @@
if BOARD_NRF54L09PDK_NRF54L09_CPUAPP
config HW_STACK_PROTECTION
default ARCH_HAS_STACK_PROTECTION
config ROM_START_OFFSET
default 0x800 if BOOTLOADER_MCUBOOT

View File

@ -13,6 +13,3 @@ CONFIG_GPIO=y
# Enable MPU
CONFIG_ARM_MPU=y
# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y

View File

@ -1,6 +1,9 @@
# Copyright (c) 2024 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
config HW_STACK_PROTECTION
default ARCH_HAS_STACK_PROTECTION
if BOARD_NRF54L15DK_NRF54L05_CPUAPP || BOARD_NRF54L15DK_NRF54L10_CPUAPP || \
BOARD_NRF54L15DK_NRF54L15_CPUAPP

View File

@ -13,6 +13,3 @@ CONFIG_GPIO=y
# Enable MPU
CONFIG_ARM_MPU=y
# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y

View File

@ -13,6 +13,3 @@ CONFIG_GPIO=y
# Enable MPU
CONFIG_ARM_MPU=y
# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y

View File

@ -2,7 +2,6 @@
# SPDX-License-Identifier: Apache-2.0
CONFIG_ARM_MPU=y
CONFIG_HW_STACK_PROTECTION=y
CONFIG_NULL_POINTER_EXCEPTION_DETECTION_NONE=y
CONFIG_ARM_TRUSTZONE_M=y

View File

@ -13,6 +13,3 @@ CONFIG_GPIO=y
# Enable MPU
CONFIG_ARM_MPU=y
# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y

View File

@ -2,7 +2,6 @@
# SPDX-License-Identifier: Apache-2.0
CONFIG_ARM_MPU=y
CONFIG_HW_STACK_PROTECTION=y
CONFIG_NULL_POINTER_EXCEPTION_DETECTION_NONE=y
CONFIG_ARM_TRUSTZONE_M=y

View File

@ -3,6 +3,9 @@
if BOARD_NRF54L20PDK_NRF54L20_CPUAPP
config HW_STACK_PROTECTION
default ARCH_HAS_STACK_PROTECTION
config ROM_START_OFFSET
default 0x800 if BOOTLOADER_MCUBOOT

View File

@ -13,6 +13,3 @@ CONFIG_GPIO=y
# Enable MPU
CONFIG_ARM_MPU=y
# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y

View File

@ -0,0 +1,11 @@
# nRF7002 DK board configuration
# Copyright (c) 2025 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
if BOARD_NRF7002DK
config HW_STACK_PROTECTION
default ARCH_HAS_STACK_PROTECTION
endif # BOARD_NRF7002DK

View File

@ -3,9 +3,6 @@
# Enable MPU
CONFIG_ARM_MPU=y
# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y
# Enable TrustZone-M
CONFIG_ARM_TRUSTZONE_M=y

View File

@ -4,9 +4,6 @@
# Enable MPU
CONFIG_ARM_MPU=y
# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y
# Enable TrustZone-M
CONFIG_ARM_TRUSTZONE_M=y

View File

@ -3,9 +3,6 @@
# Enable MPU
CONFIG_ARM_MPU=y
# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y
# Enable GPIO
CONFIG_GPIO=y

View File

@ -3,5 +3,8 @@
# Copyright (c) 2023 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
config HW_STACK_PROTECTION
default ARCH_HAS_STACK_PROTECTION
config BOARD_NRF9131EK
select USE_DT_CODE_PARTITION if BOARD_NRF9131EK_NRF9131_NS

View File

@ -3,9 +3,6 @@
# Enable MPU
CONFIG_ARM_MPU=y
# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y
# Enable TrustZone-M
CONFIG_ARM_TRUSTZONE_M=y

View File

@ -3,9 +3,6 @@
# Enable MPU
CONFIG_ARM_MPU=y
# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y
# Enable TrustZone-M
CONFIG_ARM_TRUSTZONE_M=y

View File

@ -2,6 +2,9 @@
# Copyright (c) 2023 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
#
config HW_STACK_PROTECTION
default ARCH_HAS_STACK_PROTECTION
if BOARD_NRF9151DK_NRF9151 || BOARD_NRF9151DK_NRF9151_NS

View File

@ -3,9 +3,6 @@
# Enable MPU
CONFIG_ARM_MPU=y
# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y
# Enable TrustZone-M
CONFIG_ARM_TRUSTZONE_M=y

View File

@ -3,9 +3,6 @@
# Enable MPU
CONFIG_ARM_MPU=y
# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y
# Enable TrustZone-M
CONFIG_ARM_TRUSTZONE_M=y

View File

@ -3,6 +3,9 @@
# Copyright (c) 2018-2020 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
config HW_STACK_PROTECTION
default ARCH_HAS_STACK_PROTECTION
if BOARD_NRF9160DK_NRF9160 || BOARD_NRF9160DK_NRF9160_NS
config BOARD_NRF9160DK

View File

@ -3,9 +3,6 @@
# Enable MPU
CONFIG_ARM_MPU=y
# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y
# Enable UART driver
CONFIG_SERIAL=y

View File

@ -3,9 +3,6 @@
# Enable MPU
CONFIG_ARM_MPU=y
# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y
# Enable TrustZone-M
CONFIG_ARM_TRUSTZONE_M=y

View File

@ -3,9 +3,6 @@
# Enable MPU
CONFIG_ARM_MPU=y
# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y
# Enable TrustZone-M
CONFIG_ARM_TRUSTZONE_M=y

View File

@ -3,6 +3,9 @@
# Copyright (c) 2023 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
config HW_STACK_PROTECTION
default ARCH_HAS_STACK_PROTECTION
if BOARD_NRF9161DK_NRF9161 || BOARD_NRF9161DK_NRF9161_NS
config BOARD_NRF9161DK

View File

@ -3,9 +3,6 @@
# Enable MPU
CONFIG_ARM_MPU=y
# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y
# Enable TrustZone-M
CONFIG_ARM_TRUSTZONE_M=y

View File

@ -3,9 +3,6 @@
# Enable MPU
CONFIG_ARM_MPU=y
# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y
# Enable TrustZone-M
CONFIG_ARM_TRUSTZONE_M=y

View File

@ -1,6 +1,9 @@
# Copyright (c) 2024 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
config HW_STACK_PROTECTION
default ARCH_HAS_STACK_PROTECTION
if BOARD_NRF9280PDK_NRF9280_CPUAPP
config BT_HCI_IPC

View File

@ -13,9 +13,6 @@ CONFIG_USE_DT_CODE_PARTITION=y
# Enable MPU
CONFIG_ARM_MPU=y
# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y
# MPU-based null-pointer dereferencing detection cannot be applied
# as the (0x0 - 0x400) region is unmapped for this target.
CONFIG_NULL_POINTER_EXCEPTION_DETECTION_NONE=y

View File

@ -13,9 +13,6 @@ CONFIG_USE_DT_CODE_PARTITION=y
# Enable MPU
CONFIG_ARM_MPU=y
# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y
# MPU-based null-pointer dereferencing detection cannot be applied
# as the (0x0 - 0x400) region is unmapped for this target.
CONFIG_NULL_POINTER_EXCEPTION_DETECTION_NONE=y

View File

@ -5,4 +5,7 @@
if BOARD_THINGY52
config HW_STACK_PROTECTION
default ARCH_HAS_STACK_PROTECTION
endif # BOARD_THINGY52

View File

@ -7,9 +7,6 @@ CONFIG_REGULATOR=y
# Enable MPU
CONFIG_ARM_MPU=y
# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y
# Enable RTT
CONFIG_USE_SEGGER_RTT=y

View File

@ -3,6 +3,9 @@
# Copyright (c) 2021 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
config HW_STACK_PROTECTION
default ARCH_HAS_STACK_PROTECTION
if BOARD_THINGY53_NRF5340_CPUAPP || BOARD_THINGY53_NRF5340_CPUAPP_NS
# Code Partition:

View File

@ -3,9 +3,6 @@
# Enable MPU
CONFIG_ARM_MPU=y
# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y
# Enable TrustZone-M
CONFIG_ARM_TRUSTZONE_M=y

View File

@ -3,9 +3,6 @@
# Enable MPU
CONFIG_ARM_MPU=y
# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y
# Enable TrustZone-M
CONFIG_ARM_TRUSTZONE_M=y

View File

@ -3,8 +3,5 @@
# Enable MPU
CONFIG_ARM_MPU=y
# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y
# Enable GPIO
CONFIG_GPIO=y