arm-trusted-firmware/lib/psci
Boyan Karatotev 24a70738b2 refactor(cm): introduce a real manage_extensions_nonsecure()
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
2023-06-29 09:59:06 +01:00
..
aarch32 fix(psci): tighten psci_power_down_wfi behaviour 2023-01-23 17:25:40 +00:00
aarch64 build(psci): move runtime_errata.S to PSCI 2023-05-03 15:36:08 +02:00
psci_common.c refactor(cm): introduce a real manage_extensions_nonsecure() 2023-06-29 09:59:06 +01:00
psci_lib.mk build(psci): move runtime_errata.S to PSCI 2023-05-03 15:36:08 +02:00
psci_main.c fix(psci): remove unreachable switch/case blocks 2023-04-04 12:39:36 +02:00
psci_mem_protect.c Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
psci_off.c fix(psci): add optional pwr_domain_validate_suspend to plat_psci_ops_t 2023-05-31 23:54:19 -07:00
psci_on.c fix(psci): do not panic on illegal MPIDR 2023-05-03 17:00:31 +01:00
psci_private.h fix(psci): add optional pwr_domain_validate_suspend to plat_psci_ops_t 2023-05-31 23:54:19 -07:00
psci_setup.c refactor(cpus): rename errata_report.h to errata.h 2023-05-30 09:31:15 +01:00
psci_stat.c Unify type of "cpu_idx" across PSCI module. 2020-01-10 17:11:51 +00:00
psci_suspend.c fix(psci): add optional pwr_domain_validate_suspend to plat_psci_ops_t 2023-05-31 23:54:19 -07:00
psci_system_off.c Don't return error information from console_flush 2020-10-09 10:21:50 -05:00