arm-trusted-firmware/make_helpers
Boyan Karatotev 04c39e46e0 feat(psci): make pabandon support generic
Support for aborted powerdowns does not require much dedicated code.
Rather, it is largely a matter of orchestrating things to happen in the
right order.

The only exception to this are older secure world dispatchers, which
assume that a CPU_SUSPEND call will be terminal and therefore can
clobber context. This was patched over in common code and hidden behind
a flag. This patch moves this to the dispatchers themselves.

Dispatchers that don't register svc_suspend{_finish} are unaffected.
Those that do must save the NS context before clobbering it and
restoring in only in case of a pabandon. Due to this operation being
non-trivial, this patch makes the assumption that these dispatchers will
only be present on hardware that does not support pabandon and therefore
does not add any contexting for them. In case this assumption ever
changes, asserts are added that should alert us of this change.

Change-Id: I94a907515b782b4d2136c0d274246cfe1d567c0e
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
2025-07-25 10:37:03 +01:00
..
tbbr fix(tbbr): unrecognised 'tos-fw-key-cert' option 2023-09-07 11:14:52 +01:00
toolchains build: make Poetry optional 2024-09-26 14:23:20 +00:00
arch_features.mk feat(cpufeat): add support for FEAT_FGWTE3 2025-07-09 10:16:16 -05:00
armv7-a-cpus.mk refactor(build): merge march32/64 directives 2023-06-22 16:37:03 -05:00
build_macros.mk refactor(build): pass TF_CFLAGS to the assembler 2025-07-17 08:32:32 +01:00
build-rules.mk build: disable suffix rules globally 2024-11-25 15:40:35 +00:00
cflags.mk refactor(build): pass TF_CFLAGS to the assembler 2025-07-17 08:32:32 +01:00
common.mk build: remove Windows compatibility layer 2025-01-14 16:21:51 +00:00
constraints.mk refactor(build): simplify ENABLE_LTO checking 2025-07-17 08:32:32 +01:00
defaults.mk feat(psci): make pabandon support generic 2025-07-25 10:37:03 +01:00
march.mk refactor(build): initialise arch-features closer to where it is needed 2025-07-03 08:16:14 +01:00
plat_helpers.mk fix(build): do not force PLAT in plat_helpers.mk 2025-01-21 13:52:16 +01:00
toolchain.mk build: remove Windows compatibility layer 2025-01-14 16:21:51 +00:00
utilities.mk build: remove Windows compatibility layer 2025-01-14 16:21:51 +00:00