]> git.baikalelectronics.ru Git - arm-tf.git/commit
refactor(cpufeat): enable FEAT_DIT for FEAT_STATE_CHECKED
authorAndre Przywara <andre.przywara@arm.com>
Thu, 26 Jan 2023 16:47:52 +0000 (16:47 +0000)
committerAndre Przywara <andre.przywara@arm.com>
Tue, 25 Apr 2023 14:09:30 +0000 (15:09 +0100)
commit88727fc3ec897b176f30a6d41111c4a0e581d6e8
treea24b845129259080ce9d023bef25920ac30e8c16
parent100f56d873591a8de61ff8826c2ed8cdd09f3338
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>
bl32/tsp/tsp_main.c
common/feat_detect.c
include/arch/aarch32/arch_features.h
include/arch/aarch64/arch_features.h
include/arch/aarch64/el3_common_macros.S
lib/el3_runtime/aarch64/context.S
plat/arm/board/fvp/platform.mk