|
|
@ -855,71 +855,77 @@ endif |
|
|
|
# Build options checks
|
|
|
|
################################################################################
|
|
|
|
|
|
|
|
$(eval $(call assert_boolean,ALLOW_RO_XLAT_TABLES)) |
|
|
|
$(eval $(call assert_boolean,COLD_BOOT_SINGLE_CPU)) |
|
|
|
$(eval $(call assert_boolean,CREATE_KEYS)) |
|
|
|
$(eval $(call assert_boolean,CTX_INCLUDE_AARCH32_REGS)) |
|
|
|
$(eval $(call assert_boolean,CTX_INCLUDE_FPREGS)) |
|
|
|
$(eval $(call assert_boolean,CTX_INCLUDE_PAUTH_REGS)) |
|
|
|
$(eval $(call assert_boolean,CTX_INCLUDE_MTE_REGS)) |
|
|
|
$(eval $(call assert_boolean,CTX_INCLUDE_EL2_REGS)) |
|
|
|
$(eval $(call assert_boolean,DEBUG)) |
|
|
|
$(eval $(call assert_boolean,DYN_DISABLE_AUTH)) |
|
|
|
$(eval $(call assert_boolean,EL3_EXCEPTION_HANDLING)) |
|
|
|
$(eval $(call assert_boolean,ENABLE_AMU)) |
|
|
|
$(eval $(call assert_boolean,ENABLE_ASSERTIONS)) |
|
|
|
$(eval $(call assert_boolean,ENABLE_MPAM_FOR_LOWER_ELS)) |
|
|
|
$(eval $(call assert_boolean,ENABLE_PIE)) |
|
|
|
$(eval $(call assert_boolean,ENABLE_PMF)) |
|
|
|
$(eval $(call assert_boolean,ENABLE_PSCI_STAT)) |
|
|
|
$(eval $(call assert_boolean,ENABLE_RUNTIME_INSTRUMENTATION)) |
|
|
|
$(eval $(call assert_boolean,ENABLE_SPE_FOR_LOWER_ELS)) |
|
|
|
$(eval $(call assert_boolean,ENABLE_SVE_FOR_NS)) |
|
|
|
$(eval $(call assert_boolean,ERROR_DEPRECATED)) |
|
|
|
$(eval $(call assert_boolean,FAULT_INJECTION_SUPPORT)) |
|
|
|
$(eval $(call assert_boolean,GENERATE_COT)) |
|
|
|
$(eval $(call assert_boolean,GICV2_G0_FOR_EL3)) |
|
|
|
$(eval $(call assert_boolean,HANDLE_EA_EL3_FIRST)) |
|
|
|
$(eval $(call assert_boolean,HW_ASSISTED_COHERENCY)) |
|
|
|
$(eval $(call assert_boolean,INVERTED_MEMMAP)) |
|
|
|
$(eval $(call assert_boolean,MEASURED_BOOT)) |
|
|
|
$(eval $(call assert_boolean,NS_TIMER_SWITCH)) |
|
|
|
$(eval $(call assert_boolean,OVERRIDE_LIBC)) |
|
|
|
$(eval $(call assert_boolean,PL011_GENERIC_UART)) |
|
|
|
$(eval $(call assert_boolean,PROGRAMMABLE_RESET_ADDRESS)) |
|
|
|
$(eval $(call assert_boolean,PSCI_EXTENDED_STATE_ID)) |
|
|
|
$(eval $(call assert_boolean,RAS_EXTENSION)) |
|
|
|
$(eval $(call assert_boolean,RESET_TO_BL31)) |
|
|
|
$(eval $(call assert_boolean,SAVE_KEYS)) |
|
|
|
$(eval $(call assert_boolean,SEPARATE_CODE_AND_RODATA)) |
|
|
|
$(eval $(call assert_boolean,SEPARATE_NOBITS_REGION)) |
|
|
|
$(eval $(call assert_boolean,SPIN_ON_BL1_EXIT)) |
|
|
|
$(eval $(call assert_boolean,SPM_MM)) |
|
|
|
$(eval $(call assert_boolean,SPMD_SPM_AT_SEL2)) |
|
|
|
$(eval $(call assert_boolean,TRUSTED_BOARD_BOOT)) |
|
|
|
$(eval $(call assert_boolean,USE_COHERENT_MEM)) |
|
|
|
$(eval $(call assert_boolean,USE_DEBUGFS)) |
|
|
|
$(eval $(call assert_boolean,ARM_IO_IN_DTB)) |
|
|
|
$(eval $(call assert_boolean,SDEI_IN_FCONF)) |
|
|
|
$(eval $(call assert_boolean,SEC_INT_DESC_IN_FCONF)) |
|
|
|
$(eval $(call assert_boolean,USE_ROMLIB)) |
|
|
|
$(eval $(call assert_boolean,USE_TBBR_DEFS)) |
|
|
|
$(eval $(call assert_boolean,WARMBOOT_ENABLE_DCACHE_EARLY)) |
|
|
|
$(eval $(call assert_boolean,BL2_AT_EL3)) |
|
|
|
$(eval $(call assert_boolean,BL2_IN_XIP_MEM)) |
|
|
|
$(eval $(call assert_boolean,BL2_INV_DCACHE)) |
|
|
|
$(eval $(call assert_boolean,USE_SPINLOCK_CAS)) |
|
|
|
$(eval $(call assert_boolean,ENCRYPT_BL31)) |
|
|
|
$(eval $(call assert_boolean,ENCRYPT_BL32)) |
|
|
|
$(eval $(call assert_boolean,ERRATA_SPECULATIVE_AT)) |
|
|
|
$(eval $(call assert_boolean,RAS_TRAP_LOWER_EL_ERR_ACCESS)) |
|
|
|
$(eval $(call assert_boolean,COT_DESC_IN_DTB)) |
|
|
|
$(eval $(call assert_boolean,USE_SP804_TIMER)) |
|
|
|
|
|
|
|
$(eval $(call assert_numeric,ARM_ARCH_MAJOR)) |
|
|
|
$(eval $(call assert_numeric,ARM_ARCH_MINOR)) |
|
|
|
$(eval $(call assert_numeric,BRANCH_PROTECTION)) |
|
|
|
$(eval $(call assert_numeric,FW_ENC_STATUS)) |
|
|
|
$(eval $(call assert_booleans,\ |
|
|
|
$(sort \
|
|
|
|
ALLOW_RO_XLAT_TABLES \
|
|
|
|
COLD_BOOT_SINGLE_CPU \
|
|
|
|
CREATE_KEYS \
|
|
|
|
CTX_INCLUDE_AARCH32_REGS \
|
|
|
|
CTX_INCLUDE_FPREGS \
|
|
|
|
CTX_INCLUDE_PAUTH_REGS \
|
|
|
|
CTX_INCLUDE_MTE_REGS \
|
|
|
|
CTX_INCLUDE_EL2_REGS \
|
|
|
|
DEBUG \
|
|
|
|
DYN_DISABLE_AUTH \
|
|
|
|
EL3_EXCEPTION_HANDLING \
|
|
|
|
ENABLE_AMU \
|
|
|
|
ENABLE_ASSERTIONS \
|
|
|
|
ENABLE_MPAM_FOR_LOWER_ELS \
|
|
|
|
ENABLE_PIE \
|
|
|
|
ENABLE_PMF \
|
|
|
|
ENABLE_PSCI_STAT \
|
|
|
|
ENABLE_RUNTIME_INSTRUMENTATION \
|
|
|
|
ENABLE_SPE_FOR_LOWER_ELS \
|
|
|
|
ENABLE_SVE_FOR_NS \
|
|
|
|
ERROR_DEPRECATED \
|
|
|
|
FAULT_INJECTION_SUPPORT \
|
|
|
|
GENERATE_COT \
|
|
|
|
GICV2_G0_FOR_EL3 \
|
|
|
|
HANDLE_EA_EL3_FIRST \
|
|
|
|
HW_ASSISTED_COHERENCY \
|
|
|
|
INVERTED_MEMMAP \
|
|
|
|
MEASURED_BOOT \
|
|
|
|
NS_TIMER_SWITCH \
|
|
|
|
OVERRIDE_LIBC \
|
|
|
|
PL011_GENERIC_UART \
|
|
|
|
PROGRAMMABLE_RESET_ADDRESS \
|
|
|
|
PSCI_EXTENDED_STATE_ID \
|
|
|
|
RAS_EXTENSION \
|
|
|
|
RESET_TO_BL31 \
|
|
|
|
SAVE_KEYS \
|
|
|
|
SEPARATE_CODE_AND_RODATA \
|
|
|
|
SEPARATE_NOBITS_REGION \
|
|
|
|
SPIN_ON_BL1_EXIT \
|
|
|
|
SPM_MM \
|
|
|
|
SPMD_SPM_AT_SEL2 \
|
|
|
|
TRUSTED_BOARD_BOOT \
|
|
|
|
USE_COHERENT_MEM \
|
|
|
|
USE_DEBUGFS \
|
|
|
|
ARM_IO_IN_DTB \
|
|
|
|
SDEI_IN_FCONF \
|
|
|
|
SEC_INT_DESC_IN_FCONF \
|
|
|
|
USE_ROMLIB \
|
|
|
|
USE_TBBR_DEFS \
|
|
|
|
WARMBOOT_ENABLE_DCACHE_EARLY \
|
|
|
|
BL2_AT_EL3 \
|
|
|
|
BL2_IN_XIP_MEM \
|
|
|
|
BL2_INV_DCACHE \
|
|
|
|
USE_SPINLOCK_CAS \
|
|
|
|
ENCRYPT_BL31 \
|
|
|
|
ENCRYPT_BL32 \
|
|
|
|
ERRATA_SPECULATIVE_AT \
|
|
|
|
RAS_TRAP_LOWER_EL_ERR_ACCESS \
|
|
|
|
COT_DESC_IN_DTB \
|
|
|
|
USE_SP804_TIMER \
|
|
|
|
))) |
|
|
|
|
|
|
|
$(eval $(call assert_numerics,\ |
|
|
|
$(sort \
|
|
|
|
ARM_ARCH_MAJOR \
|
|
|
|
ARM_ARCH_MINOR \
|
|
|
|
BRANCH_PROTECTION \
|
|
|
|
FW_ENC_STATUS \
|
|
|
|
))) |
|
|
|
|
|
|
|
ifdef KEY_SIZE |
|
|
|
$(eval $(call assert_numeric,KEY_SIZE)) |
|
|
@ -935,68 +941,71 @@ endif |
|
|
|
# platform to overwrite the default options
|
|
|
|
################################################################################
|
|
|
|
|
|
|
|
$(eval $(call add_define,ALLOW_RO_XLAT_TABLES)) |
|
|
|
$(eval $(call add_define,ARM_ARCH_MAJOR)) |
|
|
|
$(eval $(call add_define,ARM_ARCH_MINOR)) |
|
|
|
$(eval $(call add_define,COLD_BOOT_SINGLE_CPU)) |
|
|
|
$(eval $(call add_define,CTX_INCLUDE_AARCH32_REGS)) |
|
|
|
$(eval $(call add_define,CTX_INCLUDE_FPREGS)) |
|
|
|
$(eval $(call add_define,CTX_INCLUDE_PAUTH_REGS)) |
|
|
|
$(eval $(call add_define,EL3_EXCEPTION_HANDLING)) |
|
|
|
$(eval $(call add_define,CTX_INCLUDE_MTE_REGS)) |
|
|
|
$(eval $(call add_define,CTX_INCLUDE_EL2_REGS)) |
|
|
|
$(eval $(call add_define,DECRYPTION_SUPPORT_${DECRYPTION_SUPPORT})) |
|
|
|
$(eval $(call add_define,ENABLE_AMU)) |
|
|
|
$(eval $(call add_define,ENABLE_ASSERTIONS)) |
|
|
|
$(eval $(call add_define,ENABLE_BTI)) |
|
|
|
$(eval $(call add_define,ENABLE_MPAM_FOR_LOWER_ELS)) |
|
|
|
$(eval $(call add_define,ENABLE_PAUTH)) |
|
|
|
$(eval $(call add_define,ENABLE_PIE)) |
|
|
|
$(eval $(call add_define,ENABLE_PMF)) |
|
|
|
$(eval $(call add_define,ENABLE_PSCI_STAT)) |
|
|
|
$(eval $(call add_define,ENABLE_RUNTIME_INSTRUMENTATION)) |
|
|
|
$(eval $(call add_define,ENABLE_SPE_FOR_LOWER_ELS)) |
|
|
|
$(eval $(call add_define,ENABLE_SVE_FOR_NS)) |
|
|
|
$(eval $(call add_define,ENCRYPT_BL31)) |
|
|
|
$(eval $(call add_define,ENCRYPT_BL32)) |
|
|
|
$(eval $(call add_define,ERROR_DEPRECATED)) |
|
|
|
$(eval $(call add_define,FAULT_INJECTION_SUPPORT)) |
|
|
|
$(eval $(call add_define,GICV2_G0_FOR_EL3)) |
|
|
|
$(eval $(call add_define,HANDLE_EA_EL3_FIRST)) |
|
|
|
$(eval $(call add_define,HW_ASSISTED_COHERENCY)) |
|
|
|
$(eval $(call add_define,LOG_LEVEL)) |
|
|
|
$(eval $(call add_define,MEASURED_BOOT)) |
|
|
|
$(eval $(call add_define,NS_TIMER_SWITCH)) |
|
|
|
$(eval $(call add_define,PL011_GENERIC_UART)) |
|
|
|
$(eval $(call add_define,PLAT_${PLAT})) |
|
|
|
$(eval $(call add_define,PROGRAMMABLE_RESET_ADDRESS)) |
|
|
|
$(eval $(call add_define,PSCI_EXTENDED_STATE_ID)) |
|
|
|
$(eval $(call add_define,RAS_EXTENSION)) |
|
|
|
$(eval $(call add_define,RESET_TO_BL31)) |
|
|
|
$(eval $(call add_define,SEPARATE_CODE_AND_RODATA)) |
|
|
|
$(eval $(call add_define,SEPARATE_NOBITS_REGION)) |
|
|
|
$(eval $(call add_define,RECLAIM_INIT_CODE)) |
|
|
|
$(eval $(call add_define,SPD_${SPD})) |
|
|
|
$(eval $(call add_define,SPIN_ON_BL1_EXIT)) |
|
|
|
$(eval $(call add_define,SPM_MM)) |
|
|
|
$(eval $(call add_define,SPMD_SPM_AT_SEL2)) |
|
|
|
$(eval $(call add_define,TRUSTED_BOARD_BOOT)) |
|
|
|
$(eval $(call add_define,USE_COHERENT_MEM)) |
|
|
|
$(eval $(call add_define,USE_DEBUGFS)) |
|
|
|
$(eval $(call add_define,ARM_IO_IN_DTB)) |
|
|
|
$(eval $(call add_define,SDEI_IN_FCONF)) |
|
|
|
$(eval $(call add_define,SEC_INT_DESC_IN_FCONF)) |
|
|
|
$(eval $(call add_define,USE_ROMLIB)) |
|
|
|
$(eval $(call add_define,USE_TBBR_DEFS)) |
|
|
|
$(eval $(call add_define,WARMBOOT_ENABLE_DCACHE_EARLY)) |
|
|
|
$(eval $(call add_define,BL2_AT_EL3)) |
|
|
|
$(eval $(call add_define,BL2_IN_XIP_MEM)) |
|
|
|
$(eval $(call add_define,BL2_INV_DCACHE)) |
|
|
|
$(eval $(call add_define,USE_SPINLOCK_CAS)) |
|
|
|
$(eval $(call add_define,ERRATA_SPECULATIVE_AT)) |
|
|
|
$(eval $(call add_define,RAS_TRAP_LOWER_EL_ERR_ACCESS)) |
|
|
|
$(eval $(call add_define,COT_DESC_IN_DTB)) |
|
|
|
$(eval $(call add_define,USE_SP804_TIMER)) |
|
|
|
$(eval $(call add_defines,\ |
|
|
|
$(sort \
|
|
|
|
ALLOW_RO_XLAT_TABLES \
|
|
|
|
ARM_ARCH_MAJOR \
|
|
|
|
ARM_ARCH_MINOR \
|
|
|
|
COLD_BOOT_SINGLE_CPU \
|
|
|
|
CTX_INCLUDE_AARCH32_REGS \
|
|
|
|
CTX_INCLUDE_FPREGS \
|
|
|
|
CTX_INCLUDE_PAUTH_REGS \
|
|
|
|
EL3_EXCEPTION_HANDLING \
|
|
|
|
CTX_INCLUDE_MTE_REGS \
|
|
|
|
CTX_INCLUDE_EL2_REGS \
|
|
|
|
DECRYPTION_SUPPORT_${DECRYPTION_SUPPORT} \
|
|
|
|
ENABLE_AMU \
|
|
|
|
ENABLE_ASSERTIONS \
|
|
|
|
ENABLE_BTI \
|
|
|
|
ENABLE_MPAM_FOR_LOWER_ELS \
|
|
|
|
ENABLE_PAUTH \
|
|
|
|
ENABLE_PIE \
|
|
|
|
ENABLE_PMF \
|
|
|
|
ENABLE_PSCI_STAT \
|
|
|
|
ENABLE_RUNTIME_INSTRUMENTATION \
|
|
|
|
ENABLE_SPE_FOR_LOWER_ELS \
|
|
|
|
ENABLE_SVE_FOR_NS \
|
|
|
|
ENCRYPT_BL31 \
|
|
|
|
ENCRYPT_BL32 \
|
|
|
|
ERROR_DEPRECATED \
|
|
|
|
FAULT_INJECTION_SUPPORT \
|
|
|
|
GICV2_G0_FOR_EL3 \
|
|
|
|
HANDLE_EA_EL3_FIRST \
|
|
|
|
HW_ASSISTED_COHERENCY \
|
|
|
|
LOG_LEVEL \
|
|
|
|
MEASURED_BOOT \
|
|
|
|
NS_TIMER_SWITCH \
|
|
|
|
PL011_GENERIC_UART \
|
|
|
|
PLAT_${PLAT} \
|
|
|
|
PROGRAMMABLE_RESET_ADDRESS \
|
|
|
|
PSCI_EXTENDED_STATE_ID \
|
|
|
|
RAS_EXTENSION \
|
|
|
|
RESET_TO_BL31 \
|
|
|
|
SEPARATE_CODE_AND_RODATA \
|
|
|
|
SEPARATE_NOBITS_REGION \
|
|
|
|
RECLAIM_INIT_CODE \
|
|
|
|
SPD_${SPD} \
|
|
|
|
SPIN_ON_BL1_EXIT \
|
|
|
|
SPM_MM \
|
|
|
|
SPMD_SPM_AT_SEL2 \
|
|
|
|
TRUSTED_BOARD_BOOT \
|
|
|
|
USE_COHERENT_MEM \
|
|
|
|
USE_DEBUGFS \
|
|
|
|
ARM_IO_IN_DTB \
|
|
|
|
SDEI_IN_FCONF \
|
|
|
|
SEC_INT_DESC_IN_FCONF \
|
|
|
|
USE_ROMLIB \
|
|
|
|
USE_TBBR_DEFS \
|
|
|
|
WARMBOOT_ENABLE_DCACHE_EARLY \
|
|
|
|
BL2_AT_EL3 \
|
|
|
|
BL2_IN_XIP_MEM \
|
|
|
|
BL2_INV_DCACHE \
|
|
|
|
USE_SPINLOCK_CAS \
|
|
|
|
ERRATA_SPECULATIVE_AT \
|
|
|
|
RAS_TRAP_LOWER_EL_ERR_ACCESS \
|
|
|
|
COT_DESC_IN_DTB \
|
|
|
|
USE_SP804_TIMER \
|
|
|
|
))) |
|
|
|
|
|
|
|
ifeq (${SANITIZE_UB},trap) |
|
|
|
$(eval $(call add_define,MONITOR_TRAPS)) |
|
|
|