Linux Audio

Check our new training course

Embedded Linux Audio

Check our new training course
with Creative Commons CC-BY-SA
lecture materials

Bootlin logo

Elixir Cross Referencer

Loading...
# 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