summaryrefslogtreecommitdiff
path: root/services/std_svc
diff options
context:
space:
mode:
Diffstat (limited to 'services/std_svc')
-rw-r--r--services/std_svc/psci/psci_afflvl_on.c1
-rw-r--r--services/std_svc/psci/psci_afflvl_suspend.c1
-rw-r--r--services/std_svc/psci/psci_entry.S6
3 files changed, 6 insertions, 2 deletions
diff --git a/services/std_svc/psci/psci_afflvl_on.c b/services/std_svc/psci/psci_afflvl_on.c
index 443e6af4..1c7a8772 100644
--- a/services/std_svc/psci/psci_afflvl_on.c
+++ b/services/std_svc/psci/psci_afflvl_on.c
@@ -380,7 +380,6 @@ static unsigned int psci_afflvl0_on_finish(unsigned long mpidr,
*/
assert(cm_get_context(NON_SECURE));
cm_set_next_eret_context(NON_SECURE);
- cm_init_pcpu_ptr_cache();
write_vbar_el3((uint64_t) runtime_exceptions);
/*
diff --git a/services/std_svc/psci/psci_afflvl_suspend.c b/services/std_svc/psci/psci_afflvl_suspend.c
index a986e5c1..3a1a419a 100644
--- a/services/std_svc/psci/psci_afflvl_suspend.c
+++ b/services/std_svc/psci/psci_afflvl_suspend.c
@@ -497,7 +497,6 @@ static unsigned int psci_afflvl0_suspend_finish(unsigned long mpidr,
* set on this cpu prior to suspension.
*/
cm_set_next_eret_context(NON_SECURE);
- cm_init_pcpu_ptr_cache();
write_vbar_el3((uint64_t) runtime_exceptions);
/*
diff --git a/services/std_svc/psci/psci_entry.S b/services/std_svc/psci/psci_entry.S
index bc8d9004..037673dd 100644
--- a/services/std_svc/psci/psci_entry.S
+++ b/services/std_svc/psci/psci_entry.S
@@ -61,6 +61,12 @@ psci_aff_common_finish_entry:
adr x22, psci_afflvl_power_on_finish
/* ---------------------------------------------
+ * Initialise the pcpu cache pointer for the CPU
+ * ---------------------------------------------
+ */
+ bl init_cpu_data_ptr
+
+ /* ---------------------------------------------
* Exceptions should not occur at this point.
* Set VBAR in order to handle and report any
* that do occur