diff options
author | johpow01 <john.powell@arm.com> | 2022-01-28 17:06:20 -0600 |
---|---|---|
committer | John Powell <john.powell@arm.com> | 2022-05-05 19:43:10 +0200 |
commit | 744ad97445ce7aa65adaef376d0b5bafc12a90d3 (patch) | |
tree | 843a7156144107e776b282ba0db093b44c7ac64a /Makefile | |
parent | 8d6502183d1ef67d84ef4a086d6eb1aa309086bc (diff) | |
download | arm-trusted-firmware-744ad97445ce7aa65adaef376d0b5bafc12a90d3.tar.gz |
feat(brbe): add BRBE support for NS world
This patch enables access to the branch record buffer control registers
in non-secure EL2 and EL1 using the new build option ENABLE_BRBE_FOR_NS.
It is disabled for all secure world, and cannot be used with ENABLE_RME.
This option is disabled by default, however, the FVP platform makefile
enables it for FVP builds.
Signed-off-by: John Powell <john.powell@arm.com>
Change-Id: I576a49d446a8a73286ea6417c16bd0b8de71fca0
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 16 |
1 files changed, 15 insertions, 1 deletions
@@ -135,6 +135,10 @@ ifeq (${ENABLE_RME},1) ifneq (${ENABLE_PIE},0) $(error ENABLE_RME does not support PIE) endif +# RME doesn't support BRBE +ifneq (${ENABLE_BRBE_FOR_NS},0) + $(error ENABLE_RME does not support BRBE.) +endif # RME requires AARCH64 ifneq (${ARCH},aarch64) $(error ENABLE_RME requires AArch64) @@ -777,8 +781,10 @@ ifneq (${DECRYPTION_SUPPORT},none) endif endif -# SME/SVE only supported on AArch64 +# Ensure that no Aarch64-only features are enabled in Aarch32 build ifeq (${ARCH},aarch32) + + # SME/SVE only supported on AArch64 ifeq (${ENABLE_SME_FOR_NS},1) $(error "ENABLE_SME_FOR_NS cannot be used with ARCH=aarch32") endif @@ -786,6 +792,12 @@ ifeq (${ARCH},aarch32) # Warning instead of error due to CI dependency on this $(error "ENABLE_SVE_FOR_NS cannot be used with ARCH=aarch32") endif + + # BRBE is not supported in Aarch32 + ifeq (${ENABLE_BRBE_FOR_NS},1) + $(error "ENABLE_BRBE_FOR_NS cannot be used with ARCH=aarch32") + endif + endif # Ensure ENABLE_RME is not used with SME @@ -1032,6 +1044,7 @@ $(eval $(call assert_booleans,\ COT_DESC_IN_DTB \ USE_SP804_TIMER \ PSA_FWU_SUPPORT \ + ENABLE_BRBE_FOR_NS \ ENABLE_TRBE_FOR_NS \ ENABLE_SYS_REG_TRACE_FOR_NS \ ENABLE_MPMM \ @@ -1172,6 +1185,7 @@ $(eval $(call add_defines,\ NR_OF_FW_BANKS \ NR_OF_IMAGES_IN_FW_BANK \ PSA_FWU_SUPPORT \ + ENABLE_BRBE_FOR_NS \ ENABLE_TRBE_FOR_NS \ ENABLE_SYS_REG_TRACE_FOR_NS \ ENABLE_TRF_FOR_NS \ |