| # ARM TrustZone-M core configuration options |
| |
| # Copyright (c) 2018 Nordic Semiconductor ASA. |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| config ARM_TRUSTZONE_M |
| bool "ARM TrustZone-M support" |
| depends on CPU_HAS_TEE |
| depends on ARMV8_M_SE |
| help |
| Platform has support for ARM TrustZone-M. |
| |
| if ARM_TRUSTZONE_M |
| |
| menu "ARM TrustZone-M Options" |
| depends on ARM_SECURE_FIRMWARE || ARM_NONSECURE_FIRMWARE |
| |
| comment "Secure firmware" |
| depends on ARM_SECURE_FIRMWARE |
| |
| comment "Non-secure firmware" |
| depends on !ARM_SECURE_FIRMWARE |
| |
| config ARM_SECURE_BUSFAULT_HARDFAULT_NMI |
| bool "BusFault, HardFault, and NMI target Secure state" |
| depends on ARM_SECURE_FIRMWARE |
| help |
| Force NMI, HardFault, and BusFault (in Mainline ARMv8-M) |
| exceptions as Secure exceptions. |
| |
| config ARM_FIRMWARE_HAS_SECURE_ENTRY_FUNCS |
| bool "Secure Firmware has Secure Entry functions" |
| depends on ARM_SECURE_FIRMWARE |
| help |
| Option indicates that ARM Secure Firmware contains |
| Secure Entry functions that may be called from |
| Non-Secure state. Secure Entry functions must be |
| located in Non-Secure Callable memory regions. |
| |
| config ARM_NSC_REGION_BASE_ADDRESS |
| hex "ARM Non-Secure Callable Region base address" |
| depends on ARM_FIRMWARE_HAS_SECURE_ENTRY_FUNCS |
| default 0 |
| help |
| Start address of Non-Secure Callable section. |
| |
| Notes: |
| - The default value (i.e. when the user does not configure |
| the option explicitly) instructs the linker script to |
| place the Non-Secure Callable section, automatically, |
| inside the .text area. |
| - Certain requirements/restrictions may apply regarding |
| the size and the alignment of the starting address for |
| a Non-Secure Callable section, depending on the available |
| security attribution unit (SAU or IDAU) for a given SOC. |
| |
| config ARM_FIRMWARE_USES_SECURE_ENTRY_FUNCS |
| bool "Non-Secure Firmware uses Secure Entry functions" |
| depends on ARM_NONSECURE_FIRMWARE |
| help |
| Option indicates that ARM Non-Secure Firmware uses Secure |
| Entry functions provided by the Secure Firmware. The Secure |
| Firmware must be configured to provide these functions. |
| |
| config ARM_ENTRY_VENEERS_LIB_NAME |
| string "Entry Veneers symbol file" |
| depends on ARM_FIRMWARE_HAS_SECURE_ENTRY_FUNCS \ |
| || ARM_FIRMWARE_USES_SECURE_ENTRY_FUNCS |
| default "libentryveneers.a" |
| help |
| Library file to find the symbol table for the entry veneers. |
| The library will typically come from building the Secure |
| Firmware that contains secure entry functions, and allows |
| the Non-Secure Firmware to call into the Secure Firmware. |
| |
| endmenu |
| |
| endif # ARM_TRUSTZONE_M |