mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-18 02:24:18 +00:00
![]() manage_extensions_nonsecure() is problematic because it updates both context and in-place registers (unlike its secure/realm counterparts). The in-place register updates make it particularly tricky, as those never change for the lifetime of TF-A. However, they are only set when exiting to NS world. As such, all of TF-A's execution before that operates under a different context. This is inconsistent and could cause problems. This patch Introduce a real manage_extensions_nonsecure() which only operates on the context structure. It also introduces a cm_manage_extensions_el3() which only operates on register in-place that are not context switched. It is called in BL31's entrypoints so that all of TF-A executes with the same environment once all features have been converted. Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> Change-Id: Ic579f86c41026d2054863ef44893e0ba4c591da9 |
||
---|---|---|
.. | ||
bl_aux_params | ||
cpus | ||
el3_runtime | ||
extensions | ||
fconf | ||
gpt_rme | ||
libc | ||
libfdt | ||
mpmm | ||
pmf | ||
psa | ||
psci | ||
xlat_mpu | ||
xlat_tables | ||
zlib | ||
bakery_lock.h | ||
cassert.h | ||
coreboot.h | ||
debugfs.h | ||
mmio.h | ||
object_pool.h | ||
optee_utils.h | ||
runtime_instr.h | ||
semihosting.h | ||
smccc.h | ||
spinlock.h | ||
utils.h | ||
utils_def.h |