arm-trusted-firmware/lib/extensions
Andre Przywara fc8d2d3980 refactor(trf): enable FEAT_TRF for FEAT_STATE_CHECKED
At the moment we only support FEAT_TRF to be either unconditionally
compiled in, or to be not supported at all.

Add support for runtime detection (ENABLE_TRF_FOR_NS=2), by splitting
is_feat_trf_present() into an ID register reading function and a second
function to report the support status. That function considers both
build time settings and runtime information (if needed), and is used
before we access TRF related registers.
Also move the context saving code from assembly to C, and use the new
is_feat_trf_supported() function to guard its execution.

The FVP platform decided to compile in support unconditionally (=1),
even though FEAT_TRF is an ARMv8.4 feature, so is not available with the
FVP model's default command line.
Change that to the now supported dynamic option (=2), so the right
decision can be made by the code at runtime.

Change-Id: Ia97b01adbe24970a4d837afd463dc5506b7295a3
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
2023-02-27 18:04:14 +00:00
..
amu fix(amu): limit virtual offset register access to NS world 2022-04-28 20:30:42 +02:00
brbe refactor(brbe): enable FEAT_BRBE for FEAT_STATE_CHECKED 2023-02-27 18:04:14 +00:00
mpam refactor(mpam): remove initialization of EL2 registers when EL2 is used 2022-04-12 17:41:51 +02:00
mtpmu Add support for FEAT_MTPMU for Armv8.6 2020-12-11 12:49:20 +00:00
pauth
ras lib/extensions/ras: fix bug of binary search 2021-01-14 09:27:16 +08:00
sme fix(sme): add missing ISBs 2022-10-13 13:51:05 +01:00
spe feat(spe): add support for FEAT_SPEv1p2 2022-02-10 09:30:13 +00:00
sve feat(sve): support full SVE vector length 2022-07-08 17:17:11 +01:00
sys_reg_trace feat(sys_reg_trace): enable trace system registers access from lower NS ELs 2021-08-26 09:29:51 +01:00
trbe refactor(trbe): enable FEAT_TRBE for FEAT_STATE_CHECKED 2023-02-27 18:04:14 +00:00
trf refactor(trf): enable FEAT_TRF for FEAT_STATE_CHECKED 2023-02-27 18:04:14 +00:00