]> git.baikalelectronics.ru Git - arm-tf.git/commit
refactor(cpufeat): enable FEAT_NV2 for FEAT_STATE_CHECKED
authorAndre Przywara <andre.przywara@arm.com>
Fri, 27 Jan 2023 14:09:20 +0000 (14:09 +0000)
committerAndre Przywara <andre.przywara@arm.com>
Wed, 22 Mar 2023 13:33:22 +0000 (13:33 +0000)
commitd5384b69d1180a596a48014d99e46eb4341f3455
treeb7d0038c4533bfe7f384edf934dad786ef4fafe9
parent1223d2a020c12f80d764323b8a5bf3cd317d8d12
refactor(cpufeat): enable FEAT_NV2 for FEAT_STATE_CHECKED

At the moment we only support for FEAT_NV2 to be either unconditionally
compiled in, or to be not supported at all.

Add support for runtime detection (CTX_INCLUDE_NEVE_REGS=2), by
splitting get_armv8_4_feat_nv_support() 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 VNCR_EL2 system register.
Also move the context saving code from assembly to C, and use the new
is_feat_nv2_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: I85b080641995fb72cfd4ac933f7a3f75770c2cb9
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
common/feat_detect.c
include/arch/aarch64/arch.h
include/arch/aarch64/arch_features.h
include/arch/aarch64/arch_helpers.h
include/lib/el3_runtime/aarch64/context.h
lib/el3_runtime/aarch64/context.S
lib/el3_runtime/aarch64/context_mgmt.c
plat/arm/board/fvp/platform.mk