1# ARM TrustZone-M core configuration options 2 3# Copyright (c) 2018 Nordic Semiconductor ASA. 4# SPDX-License-Identifier: Apache-2.0 5 6config ARM_TRUSTZONE_M 7 bool "ARM TrustZone-M support" 8 depends on CPU_HAS_TEE 9 depends on ARMV8_M_SE 10 help 11 Platform has support for ARM TrustZone-M. 12 13if ARM_TRUSTZONE_M 14 15menu "ARM TrustZone-M Options" 16depends on ARM_SECURE_FIRMWARE || ARM_NONSECURE_FIRMWARE 17 18comment "Secure firmware" 19 depends on ARM_SECURE_FIRMWARE 20 21comment "Non-secure firmware" 22 depends on !ARM_SECURE_FIRMWARE 23 24config ARM_SECURE_BUSFAULT_HARDFAULT_NMI 25 bool "BusFault, HardFault, and NMI target Secure state" 26 depends on ARM_SECURE_FIRMWARE 27 help 28 Force NMI, HardFault, and BusFault (in Mainline ARMv8-M) 29 exceptions as Secure exceptions. 30 31config ARM_FIRMWARE_HAS_SECURE_ENTRY_FUNCS 32 bool "Secure Firmware has Secure Entry functions" 33 depends on ARM_SECURE_FIRMWARE 34 help 35 Option indicates that ARM Secure Firmware contains 36 Secure Entry functions that may be called from 37 Non-Secure state. Secure Entry functions must be 38 located in Non-Secure Callable memory regions. 39 40config ARM_NSC_REGION_BASE_ADDRESS 41 hex "ARM Non-Secure Callable Region base address" 42 depends on ARM_FIRMWARE_HAS_SECURE_ENTRY_FUNCS 43 default 0 44 help 45 Start address of Non-Secure Callable section. 46 47 Notes: 48 - The default value (i.e. when the user does not configure 49 the option explicitly) instructs the linker script to 50 place the Non-Secure Callable section, automatically, 51 inside the .text area. 52 - Certain requirements/restrictions may apply regarding 53 the size and the alignment of the starting address for 54 a Non-Secure Callable section, depending on the available 55 security attribution unit (SAU or IDAU) for a given SOC. 56 57config ARM_FIRMWARE_USES_SECURE_ENTRY_FUNCS 58 bool "Non-Secure Firmware uses Secure Entry functions" 59 depends on ARM_NONSECURE_FIRMWARE 60 help 61 Option indicates that ARM Non-Secure Firmware uses Secure 62 Entry functions provided by the Secure Firmware. The Secure 63 Firmware must be configured to provide these functions. 64 65config ARM_ENTRY_VENEERS_LIB_NAME 66 string "Entry Veneers symbol file" 67 depends on ARM_FIRMWARE_HAS_SECURE_ENTRY_FUNCS \ 68 || ARM_FIRMWARE_USES_SECURE_ENTRY_FUNCS 69 default "libentryveneers.a" 70 help 71 Library file to find the symbol table for the entry veneers. 72 The library will typically come from building the Secure 73 Firmware that contains secure entry functions, and allows 74 the Non-Secure Firmware to call into the Secure Firmware. 75 76endmenu 77 78endif # ARM_TRUSTZONE_M 79