summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorShruti Gupta <shruti.gupta@arm.com>2025-11-17 13:29:38 +0000
committerSoby Mathew <soby.mathew@arm.com>2026-03-06 10:48:31 +0000
commit68eacbbf852603a61a6add94f91db093cf30e86f (patch)
treec75d693c5cf9ebc54fd58b4ca16f543fb403ac57 /Makefile
parentb9cf2d75ae7ef86e0d5f4e2795d401959dda24da (diff)
downloadarm-trusted-firmware-68eacbbf852603a61a6add94f91db093cf30e86f.tar.gz
arm-trusted-firmware-68eacbbf852603a61a6add94f91db093cf30e86f.zip
fix(cm): don't context switch GICv3 registers on NS<->RL transitions
The GICv3 is architectured to solely manage interrupts targeted to Normal and Secure world. It doesn't manage interrupts targeting the more recently introduced Realm world. Hence the new RMMv2.0 specification mandates that EL3 should not save and restore the GIC registers on a world switch. This change is not backward compatible with RMMv1.x ABI. Note the change in implementation of cm_el2_sysregs_context_save() and cm_el2_sysregs_context_restore() API as GIC state is not managed by these APIs anymore. Add new build flag RMM_V1_COMPAT to support backward compatibility with RMMv1.x. This flag is currently enabled by default. This patch is a reworked version of the original patch at: https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/45658 NOTE: If RMM_V1_COMPAT is not enabled, then RMM_EL3_IFC_VERSION is bumped to 1.0 which makes it incompatible with an RMM supporting 0.x. Change-Id: If4c53b85ef31091c254b383ed7b32c39124f0dbb Signed-off-by: Shruti Gupta <shruti.gupta@arm.com>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile2
1 files changed, 2 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 98ce28ea1..8571d22c3 100644
--- a/Makefile
+++ b/Makefile
@@ -584,6 +584,7 @@ $(eval $(call assert_booleans,\
DICE_PROTECTION_ENVIRONMENT \
RMMD_ENABLE_EL3_TOKEN_SIGN \
RMMD_ENABLE_IDE_KEY_PROG \
+ RMM_V1_COMPAT \
DRTM_SUPPORT \
NS_TIMER_SWITCH \
OVERRIDE_LIBC \
@@ -778,6 +779,7 @@ $(eval $(call add_defines,\
ENABLE_PMF \
ENABLE_PSCI_STAT \
ENABLE_RME \
+ RMM_V1_COMPAT \
RMMD_ENABLE_EL3_TOKEN_SIGN \
RMMD_ENABLE_IDE_KEY_PROG \
ENABLE_RUNTIME_INSTRUMENTATION \