summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorjohpow01 <john.powell@arm.com>2022-01-28 17:06:20 -0600
committerJohn Powell <john.powell@arm.com>2022-05-05 19:43:10 +0200
commit744ad97445ce7aa65adaef376d0b5bafc12a90d3 (patch)
tree843a7156144107e776b282ba0db093b44c7ac64a /Makefile
parent8d6502183d1ef67d84ef4a086d6eb1aa309086bc (diff)
downloadarm-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--Makefile16
1 files changed, 15 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index a6cb0134a..90fb28bf7 100644
--- a/Makefile
+++ b/Makefile
@@ -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 \