diff options
Diffstat (limited to 'services/std_svc')
-rw-r--r-- | services/std_svc/psci/psci_afflvl_on.c | 5 | ||||
-rw-r--r-- | services/std_svc/psci/psci_afflvl_suspend.c | 6 | ||||
-rw-r--r-- | services/std_svc/psci/psci_setup.c | 2 |
3 files changed, 6 insertions, 7 deletions
diff --git a/services/std_svc/psci/psci_afflvl_on.c b/services/std_svc/psci/psci_afflvl_on.c index 9f4ebf6b..360b2860 100644 --- a/services/std_svc/psci/psci_afflvl_on.c +++ b/services/std_svc/psci/psci_afflvl_on.c @@ -374,11 +374,12 @@ static unsigned int psci_afflvl0_on_finish(unsigned long mpidr, /* * Use the more complex exception vectors to enable SPD * initialisation. SP_EL3 should point to a 'cpu_context' - * structure which has an exception stack allocated. The - * calling cpu should have set the context already + * structure. The calling cpu should have set the + * context already */ assert(cm_get_context(mpidr, 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 534e4a9f..377afdfe 100644 --- a/services/std_svc/psci/psci_afflvl_suspend.c +++ b/services/std_svc/psci/psci_afflvl_suspend.c @@ -493,12 +493,12 @@ static unsigned int psci_afflvl0_suspend_finish(unsigned long mpidr, /* * Use the more complex exception vectors to enable SPD * initialisation. SP_EL3 should point to a 'cpu_context' - * structure which has an exception stack allocated. The - * non-secure context should have been set on this cpu - * prior to suspension. + * structure. The non-secure context should have been + * set on this cpu prior to suspension. */ assert(cm_get_context(mpidr, 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_setup.c b/services/std_svc/psci/psci_setup.c index 71d3f1e7..b958fa2e 100644 --- a/services/std_svc/psci/psci_setup.c +++ b/services/std_svc/psci/psci_setup.c @@ -198,8 +198,6 @@ static void psci_init_aff_map_node(unsigned long mpidr, (void *) &psci_ns_context[linear_id], NON_SECURE); - /* Initialize exception stack in the context */ - cm_init_exception_stack(mpidr, NON_SECURE); } return; |