arm-trusted-firmware/lib/el3_runtime/aarch64
Govindraj Raja 7455cd1721 fix(cpus): workaround for accessing ICH_VMCR_EL2
When ICH_VMCR_EL2.VBPR1 is written in Secure state (SCR_EL3.NS==0)
and then subsequently read in Non-secure state (SCR_EL3.NS==1), a
wrong value might be returned. The same issue exists in the opposite way.

Adding workaround in EL3 software that performs context save/restore
on a change of Security state to use a value of SCR_EL3.NS when
accessing ICH_VMCR_EL2 that reflects the Security state that owns the
data being saved or restored. For example, EL3 software should set
SCR_EL3.NS to 1 when saving or restoring the value ICH_VMCR_EL2 for
Non-secure(or Realm) state. EL3 software should clear
SCR_EL3.NS to 0 when saving or restoring the value ICH_VMCR_EL2 for
Secure state.

SDEN documentation:
https://developer.arm.com/documentation/SDEN-1775101/latest/

Change-Id: I9f0403601c6346276e925f02eab55908b009d957
Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
2025-02-03 10:14:09 -06:00
..
context.S fix(trbe): add a tsb before context switching 2024-12-16 15:14:30 +00:00
context_debug.c feat(cm): enhance the cpu_context memory report 2024-08-21 16:43:16 +01:00
context_mgmt.c fix(cpus): workaround for accessing ICH_VMCR_EL2 2025-02-03 10:14:09 -06:00
cpu_data.S chore: update to use Arm word across TF-A 2023-08-08 15:12:30 +01:00