diff options
| author | Shruti Gupta <shruti.gupta@arm.com> | 2025-11-17 13:29:38 +0000 |
|---|---|---|
| committer | Soby Mathew <soby.mathew@arm.com> | 2026-03-06 10:48:31 +0000 |
| commit | 68eacbbf852603a61a6add94f91db093cf30e86f (patch) | |
| tree | c75d693c5cf9ebc54fd58b4ca16f543fb403ac57 /Makefile | |
| parent | b9cf2d75ae7ef86e0d5f4e2795d401959dda24da (diff) | |
| download | arm-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-- | Makefile | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -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 \ |
