arm-trusted-firmware/lib/extensions
Jayanth Dodderi Chidanand d6af234431 refactor(cm): couple el2 registers with dependent feature flags
Currently the EL2 part of the context structure (el2_sysregs_t), is
mostly feature dependent.

For instance, CTX_HCRX_EL2 is only needed when FEAT_HCX
(ENABLE_FEAT_HCX=1) is set, but the entry is unconditionally added
in the EL2 context structure and thereby consuming memory even in
build configurations where FEAT_HCX is disabled.

Henceforth, all such context entries should be coupled/tied with
their respective feature enables and be optimized away when unused.
This would reduce the context memory allocation for platforms, that
dont enable/support all the architectural features at once.

Further, converting the assembly context-offset entries into
a c structure relies on garbage collection of the linker
removing unreferenced structures from memory, as well as aiding
in readability and future maintenance.

Change-Id: I0cf49498ee3033cb6f3ee3810331121b26627783
Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
2024-03-07 14:50:23 +00:00
..
amu refactor(cm): move EL3 registers to global context 2023-10-31 11:18:42 +00:00
brbe refactor(cpufeat): separate the EL2 and EL3 enablement code 2023-07-04 14:57:46 +01:00
mpam refactor(cm): move MPAM3_EL3 reg to per world context 2023-12-21 12:37:21 +00:00
pauth chore(pauth): remove redundant pauth_disable_el3() call 2023-04-28 08:09:14 +01:00
pmuv3 refactor(cm): couple el2 registers with dependent feature flags 2024-03-07 14:50:23 +00:00
ras chore: update to use Arm word across TF-A 2023-08-08 15:12:30 +01:00
sme refactor(cm): move EL3 registers to global context 2023-10-31 11:18:42 +00:00
spe fix(spe): invoke spe_disable during power domain off/suspend 2024-02-02 20:06:28 +00:00
sve refactor(cm): move EL3 registers to global context 2023-10-31 11:18:42 +00:00
sys_reg_trace refactor(cm): move EL3 registers to global context 2023-10-31 11:18:42 +00:00
trbe refactor(cm): set MDCR_EL3/CPTR_EL3 bits in respective feat_init_el3() only 2023-07-24 11:04:44 +01:00
trf fix(cm): set MDCR_EL3.{NSPBE, STE} explicitly 2023-07-24 11:04:38 +01:00