mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-17 10:04:26 +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> |
||
---|---|---|
.. | ||
draw.io | ||
plantuml | ||
arm-cca-software-arch.png | ||
cmake_framework_structure.png | ||
cmake_framework_workflow.png | ||
context_management_abs.png | ||
context_mgmt_existing.png | ||
context_mgmt_proposed.png | ||
default_reset_code.png | ||
ff-a-lsp-at-el3.png | ||
ff-a-spm-at-el3.png | ||
ff-a-spm-sel2.png | ||
ffa-ns-interrupt-handling-managed-exit.png | ||
ffa-ns-interrupt-handling-sp-preemption.png | ||
ffa-secure-interrupt-handling-nwd.png | ||
ffa-secure-interrupt-handling-swd.png | ||
FIP_in_a_GPT_image.png | ||
fwu_flow.png | ||
fwu_states.png | ||
int_handling.dia | ||
Makefile | ||
MMU-600.png | ||
non-sec-int-handling.png | ||
partition-package.png | ||
PSA-FWU.dia | ||
PSA-FWU.png | ||
psci-flattened-vs-hierarchical-idle-states.png | ||
psci-osi-mode.png | ||
psci-pc-mode-vs-osi-mode.png | ||
psci-suspend-sequence.png | ||
reset_code_flow.dia | ||
reset_code_no_boot_type_check.png | ||
reset_code_no_checks.png | ||
reset_code_no_cpu_check.png | ||
rmm_cold_boot_generic.dia | ||
rmm_cold_boot_generic.png | ||
romlib_design.dia | ||
romlib_design.png | ||
romlib_wrapper.dia | ||
romlib_wrapper.png | ||
rss_attestation_flow.svg | ||
rss_measured_boot_flow.svg | ||
rt-svc-descs-layout.png | ||
sec-int-handling.png | ||
secure_sw_stack_sp.png | ||
secure_sw_stack_tos.png | ||
spm-threat-model-trust-boundaries.png | ||
xlat_align.dia | ||
xlat_align.png |