arm-trusted-firmware/docs
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
..
_static/css docs(threat model): add TF-A threat model 2021-04-30 17:59:22 +02:00
about docs(maintainers): add Yann Gautier in TF-A maintainers list 2023-05-22 14:45:00 +02:00
components Merge "feat(rme): save PAuth context when RME is enabled" into integration 2023-05-24 14:23:38 +02:00
design docs: update usage of ARM_ARCH_MAJOR/MINOR 2023-05-19 10:16:01 +01:00
design_documents fix(psci): add optional pwr_domain_validate_suspend to plat_psci_ops_t 2023-05-31 23:54:19 -07:00
getting_started docs(prerequisites): update software and libraries prerequisites 2023-05-16 17:36:18 +01:00
perf Merge "docs(n1sdp): add N1SDP PSCI instrumentation data" into integration 2023-05-22 10:47:50 +02:00
plat Merge changes from topic "allwinner_t507" into integration 2023-05-04 15:19:50 +02:00
process docs: extend deprecation policy 2023-04-24 13:45:44 +02:00
resources fix(psci): add optional pwr_domain_validate_suspend to plat_psci_ops_t 2023-05-31 23:54:19 -07:00
security_advisories docs(security): security advisory for CVE-2022-47630 2023-01-16 14:07:29 +01:00
threat_model docs(spm): threat model for memory sharing functionality 2023-05-12 09:32:21 +01:00
change-log.md docs(changelog): changelog for v2.9 release 2023-05-19 13:49:08 -05:00
conf.py fix(docs): prevent a sphinx warning 2022-11-16 14:06:48 +00:00
global_substitutions.txt docs(errata_abi): document the errata abi changes 2023-05-05 13:24:59 -05:00
glossary.rst docs(errata_abi): document the errata abi changes 2023-05-05 13:24:59 -05:00
index.rst docs(porting): move porting guide upper in table of contents 2023-04-11 10:11:04 +02:00
license.rst refactor(dt-bindings): align irq bindings with kernel 2021-06-14 10:05:48 +02:00
Makefile feat(docs): allow verbose build 2023-03-21 11:47:16 +01:00
porting-guide.rst fix(psci): add optional pwr_domain_validate_suspend to plat_psci_ops_t 2023-05-31 23:54:19 -07:00