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

Add support for runtime detection (ENABLE_MPAM_FOR_LOWER_ELS=2), by
splitting get_mpam_version() 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 MPAM related registers.
Also move the context saving code from assembly to C, and use the new
is_feat_mpam_supported() function to guard its execution.

ENABLE_MPAM_FOR_LOWER_ELS defaults to 0, so add a stub enable function
to cover builds with compiler optimisations turned off. The unused
mpam_enable() function call will normally be optimised away (because it
would never be called), but with -O0 the compiler will leave the symbol
in the object file.

Change-Id: I531d87cb855a7c43471f861f625b5a6d4bc61313
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
2023-03-20 13:37:36 +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): enable FEAT_MPAM for FEAT_STATE_CHECKED 2023-03-20 13:37:36 +00:00
mtpmu Add support for FEAT_MTPMU for Armv8.6 2020-12-11 12:49:20 +00:00
pauth TF-A: Add support for ARMv8.3-PAuth in BL1 SMC calls and BL2U 2019-10-03 14:43:55 +01:00
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 refactor(spe): enable FEAT_SPE for FEAT_STATE_CHECKED 2023-03-20 13:37:36 +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