Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Arm Trusted Firmware
Commits
c1a4b6b4
Commit
c1a4b6b4
authored
Sep 21, 2020
by
Olivier Deprez
Committed by
TrustedFirmware Code Review
Sep 21, 2020
Browse files
Merge "build_macros.mk: include assert and define loop macros" into integration
parents
8c00bcce
327131c4
Changes
7
Hide whitespace changes
Inline
Side-by-side
Makefile
View file @
c1a4b6b4
...
...
@@ -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))
...
...
bl31/bl31.mk
View file @
c1a4b6b4
...
...
@@ -89,10 +89,16 @@ ifndef CRASH_REPORTING
CRASH_REPORTING
:=
$(DEBUG)
endif
$(eval
$(call
assert_boolean,CRASH_REPORTING))
$(eval
$(call
assert_boolean,EL3_EXCEPTION_HANDLING))
$(eval
$(call
assert_boolean,SDEI_SUPPORT))
$(eval
$(call
add_define,CRASH_REPORTING))
$(eval
$(call
add_define,EL3_EXCEPTION_HANDLING))
$(eval
$(call
add_define,SDEI_SUPPORT))
$(eval
$(call
assert_booleans,\
$(sort
\
CRASH_REPORTING
\
EL3_EXCEPTION_HANDLING
\
SDEI_SUPPORT
\
)))
$(eval
$(call
add_defines,\
$(sort
\
CRASH_REPORTING
\
EL3_EXCEPTION_HANDLING
\
SDEI_SUPPORT
\
)))
drivers/auth/mbedtls/mbedtls_common.mk
View file @
c1a4b6b4
...
...
@@ -98,10 +98,13 @@ else
endif
# Needs to be set to drive mbed TLS configuration correctly
$(eval
$(call
add_define,TF_MBEDTLS_KEY_ALG_ID))
$(eval
$(call
add_define,TF_MBEDTLS_KEY_SIZE))
$(eval
$(call
add_define,TF_MBEDTLS_HASH_ALG_ID))
$(eval
$(call
add_define,TF_MBEDTLS_USE_AES_GCM))
$(eval
$(call
add_defines,\
$(sort
\
TF_MBEDTLS_KEY_ALG_ID
\
TF_MBEDTLS_KEY_SIZE
\
TF_MBEDTLS_HASH_ALG_ID
\
TF_MBEDTLS_USE_AES_GCM
\
)))
$(eval
$(call
MAKE_LIB,mbedtls))
...
...
drivers/measured_boot/measured_boot.mk
View file @
c1a4b6b4
...
...
@@ -25,10 +25,13 @@ endif
EVENT_LOG_SIZE
:=
1024
# Set definitions for mbed TLS library and Measured Boot driver
$(eval
$(call
add_define,MBEDTLS_MD_ID))
$(eval
$(call
add_define,TPM_ALG_ID))
$(eval
$(call
add_define,TCG_DIGEST_SIZE))
$(eval
$(call
add_define,EVENT_LOG_SIZE))
$(eval
$(call
add_defines,\
$(sort
\
MBEDTLS_MD_ID
\
TPM_ALG_ID
\
TCG_DIGEST_SIZE
\
EVENT_LOG_SIZE
\
)))
ifeq
(${HASH_ALG}, sha256)
ifneq
(${TPM_HASH_ALG}, sha256)
...
...
make_helpers/armv7-a-cpus.mk
View file @
c1a4b6b4
...
...
@@ -44,10 +44,13 @@ endif
# Defined if ARMv7 core supports the Generic Timer extension.
ifeq
($(filter yes,$(ARM_CORTEX_A7) $(ARM_CORTEX_A12) $(ARM_CORTEX_A15) $(ARM_CORTEX_A17)),yes)
$(eval
$(call
add_define,ARMV7_SUPPORTS_LARGE_PAGE_ADDRESSING))
$(eval
$(call
add_define,ARMV7_SUPPORTS_VIRTUALIZATION))
$(eval
$(call
add_define,ARMV7_SUPPORTS_GENERIC_TIMER))
$(eval
$(call
add_define,ARMV7_SUPPORTS_VFP))
$(eval
$(call
add_defines,\
$(sort
\
ARMV7_SUPPORTS_LARGE_PAGE_ADDRESSING
\
ARMV7_SUPPORTS_VIRTUALIZATION
\
ARMV7_SUPPORTS_GENERIC_TIMER
\
ARMV7_SUPPORTS_VFP
\
)))
endif
ifeq
($(ARM_CORTEX_A5),yes)
...
...
make_helpers/build_macros.mk
View file @
c1a4b6b4
...
...
@@ -44,6 +44,13 @@ define add_define
DEFINES
+=
-D
$(1)
$(
if
$(
value
$(1)
)
,
=
$(
value
$(1)
)
,
)
endef
# Convenience function for addding multiple build definitions
# $(eval $(call add_defines,FOO BOO))
define
add_defines
$(foreach
def,$1,$(eval
$(call
add_define,$(def))))
endef
# Convenience function for adding build definitions
# $(eval $(call add_define_val,FOO,BAR)) will have:
# -DFOO=BAR
...
...
@@ -57,6 +64,12 @@ define assert_boolean
$(if
$(filter-out
0
1,$($1)),$(error
$1
must
be
boolean))
endef
# Convenience function for verifying options have boolean values
# $(eval $(call assert_booleans,FOO BOO)) will assert FOO and BOO for 0 or 1 values
define
assert_booleans
$(foreach
bool,$1,$(eval
$(call
assert_boolean,$(bool))))
endef
0-9
:=
0 1 2 3 4 5 6 7 8 9
# Function to verify that a given option $(1) contains a numeric value
...
...
@@ -67,6 +80,12 @@ $(foreach d,$(0-9),$(eval __numeric := $(subst $(d),,$(__numeric))))
$(if
$(__numeric),$(error
$(1)
must
be
numeric))
endef
# Convenience function for verifying options have numeric values
# $(eval $(call assert_numerics,FOO BOO)) will assert FOO and BOO contain numeric values
define
assert_numerics
$(foreach
num,$1,$(eval
$(call
assert_numeric,$(num))))
endef
# CREATE_SEQ is a recursive function to create sequence of numbers from 1 to
# $(2) and assign the sequence to $(1)
define
CREATE_SEQ
...
...
plat/st/stm32mp1/platform.mk
View file @
c1a4b6b4
...
...
@@ -46,16 +46,23 @@ ifeq ($(filter 1,${STM32MP_EMMC} ${STM32MP_SDMMC} ${STM32MP_RAW_NAND} \
$(error
"No boot device driver is enabled"
)
endif
$(eval
$(call
assert_boolean,STM32MP_EMMC))
$(eval
$(call
assert_boolean,STM32MP_SDMMC))
$(eval
$(call
assert_boolean,STM32MP_RAW_NAND))
$(eval
$(call
assert_boolean,STM32MP_SPI_NAND))
$(eval
$(call
assert_boolean,STM32MP_SPI_NOR))
$(eval
$(call
add_define,STM32MP_EMMC))
$(eval
$(call
add_define,STM32MP_SDMMC))
$(eval
$(call
add_define,STM32MP_RAW_NAND))
$(eval
$(call
add_define,STM32MP_SPI_NAND))
$(eval
$(call
add_define,STM32MP_SPI_NOR))
$(eval
$(call
assert_booleans,\
$(sort
\
STM32MP_EMMC
\
STM32MP_SDMMC
\
STM32MP_RAW_NAND
\
STM32MP_SPI_NAND
\
STM32MP_SPI_NOR
\
)))
$(eval
$(call
add_defines,\
$(sort
\
STM32MP_EMMC
\
STM32MP_SDMMC
\
STM32MP_RAW_NAND
\
STM32MP_SPI_NAND
\
STM32MP_SPI_NOR
\
)))
PLAT_INCLUDES
:=
-Iplat
/st/common/include/
PLAT_INCLUDES
+=
-Iplat
/st/stm32mp1/include/
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment