summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordanh-arm <dan.handley@arm.com>2016-09-12 09:58:44 +0100
committerGitHub <noreply@github.com>2016-09-12 09:58:44 +0100
commit048d802a087b2c52bd5e817cb8e0bc52ea6260ad (patch)
tree3cee461499a65e2040b048363a18106a1a393539
parent77b05323921c23e4261ddd8fee5c326a79b0af97 (diff)
parent7a3d4bdeefe361d8b88d0a62251df768a73684b3 (diff)
Merge pull request #699 from soby-mathew/sm/flush_plat_psci_ops
Flush `psci_plat_pm_ops` after initialization
-rw-r--r--lib/psci/psci_setup.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/psci/psci_setup.c b/lib/psci/psci_setup.c
index 20d06352..aa2ed510 100644
--- a/lib/psci/psci_setup.c
+++ b/lib/psci/psci_setup.c
@@ -238,6 +238,13 @@ int psci_setup(uintptr_t mailbox_ep)
plat_setup_psci_ops(mailbox_ep, &psci_plat_pm_ops);
assert(psci_plat_pm_ops);
+ /*
+ * Flush `psci_plat_pm_ops` as it will be accessed by secondary CPUs
+ * during warm boot before data cache is enabled.
+ */
+ flush_dcache_range((uintptr_t)&psci_plat_pm_ops,
+ sizeof(psci_plat_pm_ops));
+
/* Initialize the psci capability */
psci_caps = PSCI_GENERIC_CAP;