summaryrefslogtreecommitdiff
path: root/core/arch/arm/sm
diff options
context:
space:
mode:
Diffstat (limited to 'core/arch/arm/sm')
-rw-r--r--core/arch/arm/sm/psci.c2
-rw-r--r--core/arch/arm/sm/sm.c3
2 files changed, 4 insertions, 1 deletions
diff --git a/core/arch/arm/sm/psci.c b/core/arch/arm/sm/psci.c
index b2bd645..32a897c 100644
--- a/core/arch/arm/sm/psci.c
+++ b/core/arch/arm/sm/psci.c
@@ -149,7 +149,7 @@ void tee_psci_handler(struct thread_smc_args *args)
;
break;
case PSCI_SYSTEM_RESET:
- psci_system_off();
+ psci_system_reset();
while (1)
;
break;
diff --git a/core/arch/arm/sm/sm.c b/core/arch/arm/sm/sm.c
index 4a0c0f6..f3fa4af 100644
--- a/core/arch/arm/sm/sm.c
+++ b/core/arch/arm/sm/sm.c
@@ -39,6 +39,9 @@ bool sm_from_nsec(struct sm_ctx *ctx)
{
uint32_t *nsec_r0 = (uint32_t *)(&ctx->nsec.r0);
+ if (!sm_platform_handler(ctx))
+ return false;
+
#ifdef CFG_PSCI_ARM32
if (OPTEE_SMC_OWNER_NUM(*nsec_r0) == OPTEE_SMC_OWNER_STANDARD) {
smc_std_handler((struct thread_smc_args *)nsec_r0);