arm-trusted-firmware/include/lib/el3_runtime
Andre Przywara 7db710f0cb refactor(cpufeat): enable FEAT_CSV2_2 for FEAT_STATE_CHECKED
At the moment we only support FEAT_CSV2_2 to be either unconditionally
compiled in, or to be not supported at all.

Add support for runtime detection (ENABLE_FEAT_CSV2_2=2), by splitting
is_armv8_0_feat_csv2_2_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 the SCXTNUM_EL2 system register.
Also move the context saving code from assembly to C, and use the new
is_feat_csv2_2_supported() function to guard its execution.

Change the FVP platform default to the now supported dynamic option (=2),
so the right decision can be made by the code at runtime.

Change-Id: I89c7bc883e6a65727fdbdd36eb3bfbffb2196da7
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
2023-03-22 13:33:22 +00:00
..
aarch32 style: remove useless trailing semicolon and line continuations 2023-03-09 14:59:08 +01:00
aarch64 refactor(cpufeat): enable FEAT_CSV2_2 for FEAT_STATE_CHECKED 2023-03-22 13:33:22 +00:00
context_mgmt.h refactor(context mgmt): add cm_prepare_el3_exit_ns function 2022-04-12 17:42:11 +02:00
cpu_data.h feat(rme): add context management changes for FEAT_RME 2021-10-05 18:41:35 +02:00
pubsub.h build: always prefix section names with . 2023-02-20 18:29:33 +00:00
pubsub_events.h Switch AARCH32/AARCH64 to __aarch64__ 2019-08-01 13:45:03 -07:00