mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-17 01:54:22 +00:00
![]() This patch adds a new optional member `pwr_domain_validate_suspend` to the `plat_psci_ops_t` structure that allows a platform to optionally perform platform specific validations in OS-initiated mode. This is conditionally compiled into the build depending on the value of the `PSCI_OS_INIT_MODE` build option. In https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/17682, the return type of the `pwr_domain_suspend` handler was updated from `void` to `int` to allow a platform to optionally perform platform specific validations in OS-initiated mode. However, when an error code other than `PSCI_E_SUCCESS` is returned, the current exit path does not undo the operations in `psci_suspend_to_pwrdown_start`, and as a result, the system ends up in an unexpected state. The fix in this patch prevents the need to undo the operations in `psci_suspend_to_pwrdown_start`, by allowing the platform to first perform any necessary platform specific validations before the PSCI generic code proceeds to the point of no return where the CPU_SUSPEND request is expected to complete successfully. Change-Id: I05d92c7ea3f5364da09af630d44d78252185db20 Signed-off-by: Wing Li <wingers@google.com> |
||
---|---|---|
.. | ||
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 |