arm-trusted-firmware/lib/psci
Boyan Karatotev cc94e71b3a refactor(cpus): undo errata mitigations
The workarounds introduced in the three patches starting at
888eafa00b assumed that any powerdown
request will be (forced to be) terminal. This assumption can no longer
be the case for new CPUs so there is a need to revisit these older
cores. Since we may wake up, we now need to respect the workaround's
recommendation that the workaround needs to be reverted on wakeup. So do
exactly that.

Introduce a new helper to toggle bits in assembly. This allows us to
call the workaround twice, with the first call setting the workaround
and second undoing it. This is also used for gelas' an travis' powerdown
routines. This is so the same function can be called again

Also fix the condition in the cpu helper macro as it was subtly wrong

Change-Id: Iff9e5251dc9d8670d085d88c070f78991955e7c3
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
2025-02-03 07:37:58 +00:00
..
aarch32 chore: update to use Arm word across TF-A 2023-08-08 15:12:30 +01:00
aarch64 refactor(cpus): undo errata mitigations 2025-02-03 07:37:58 +00:00
psci_common.c perf(psci): pass my_core_pos around instead of calling it repeatedly 2025-01-14 10:02:00 +00:00
psci_lib.mk chore(cpus): optimise runtime errata applications 2024-10-16 13:59:57 +01:00
psci_main.c perf(psci): pass my_core_pos around instead of calling it repeatedly 2025-01-14 10:02:00 +00:00
psci_mem_protect.c chore: update to use Arm word across TF-A 2023-08-08 15:12:30 +01:00
psci_off.c perf(psci): pass my_core_pos around instead of calling it repeatedly 2025-01-14 10:02:00 +00:00
psci_on.c fix(smccc): ensure that mpidr passed through SMC is valid 2023-11-06 20:43:38 +00:00
psci_private.h perf(psci): pass my_core_pos around instead of calling it repeatedly 2025-01-14 10:02:00 +00:00
psci_setup.c perf(psci): pass my_core_pos around instead of calling it repeatedly 2025-01-14 10:02:00 +00:00
psci_stat.c perf(psci): pass my_core_pos around instead of calling it repeatedly 2025-01-14 10:02:00 +00:00
psci_suspend.c perf(psci): pass my_core_pos around instead of calling it repeatedly 2025-01-14 10:02:00 +00:00
psci_system_off.c Don't return error information from console_flush 2020-10-09 10:21:50 -05:00