arm-trusted-firmware/common
Andre Przywara 88727fc3ec refactor(cpufeat): enable FEAT_DIT for FEAT_STATE_CHECKED
At the moment we only support FEAT_DIT to be either unconditionally
compiled in, or to be not supported at all.

Add support for runtime detection (ENABLE_DIT=2), by splitting
is_armv8_4_dit_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).

We use ENABLE_DIT in two occassions in assembly code, where we just set
the DIT bit in the DIT system register.
Protect those two cases by reading the CPU ID register when ENABLE_DIT
is set to 2.

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: I506d352f18e23c60db8cdf08edb449f60adbe098
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
2023-04-25 15:09:30 +01:00
..
aarch32 refactor(aarch64): rename do_panic and el3_panic 2023-02-21 17:26:01 +00:00
aarch64 refactor(bl31): use elx_panic for sysreg_handler64 2023-02-22 17:24:17 +00:00
backtrace fix(debug): decouple "get_el_str()" from backtrace 2022-11-08 10:10:19 +00:00
bl_common.c feat(bl): add interface to query TF-A semantic ver 2022-08-02 16:04:23 -05:00
desc_image_load.c SPMD: extract SPMC DTB header size from SPMD 2020-05-13 08:08:39 +02:00
fdt_fixup.c Merge "feat(libfdt): add function to set MAC addresses" into integration 2022-07-08 13:29:58 +02:00
fdt_wrappers.c fix(fdt-wrappers): use correct prototypes 2023-01-10 18:59:58 +01:00
fdt_wrappers.mk build(fdt-wrappers): introduce FDT wrappers makefile 2021-10-26 12:14:28 +01:00
feat_detect.c refactor(cpufeat): enable FEAT_DIT for FEAT_STATE_CHECKED 2023-04-25 15:09:30 +01:00
image_decompress.c Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
runtime_svc.c Remove support for the SMC Calling Convention 2.0 2019-01-30 16:01:49 +00:00
tf_crc32.c refactor(hw_crc32): renamed hw_crc32 to tf_crc32 2021-08-02 17:15:41 +01:00
tf_log.c feat(common/debug): add new macro ERROR_NL() to print just a newline 2021-07-21 00:01:06 +02:00
uuid.c fix(uuid): add missing #include directives 2023-04-17 16:13:16 +01:00