arm-trusted-firmware/docs/design_documents
Wing Li d34886140c fix(psci): add optional pwr_domain_validate_suspend to plat_psci_ops_t
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>
2023-05-31 23:54:19 -07:00
..
cmake_framework.rst CMake buildsystem design document 2020-03-11 15:06:09 +01:00
context_mgmt_rework.rst docs(el3-runtimes): context management refactor proposal 2022-02-24 08:04:48 +02:00
drtm_poc.rst docs(drtm): steps to run DRTM implementation 2022-10-06 14:02:25 +01:00
index.rst docs(psci): add design proposal for OS-initiated mode 2023-03-20 22:20:35 -07:00
measured_boot_poc.rst docs(measured-boot): update the build command 2023-04-27 07:28:41 +01:00
psci_osi_mode.rst fix(psci): add optional pwr_domain_validate_suspend to plat_psci_ops_t 2023-05-31 23:54:19 -07:00
rss.rst docs: add Runtime Security Subsystem (RSS) documentation 2023-02-13 10:44:23 +01:00