summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitris Papastamos <dimitris.papastamos@arm.com>2018-06-22 12:42:17 +0100
committerGitHub <noreply@github.com>2018-06-22 12:42:17 +0100
commitb70dcbc17222687859ac1cf58d4d7c5cb5c379fe (patch)
tree230d4a25cf1bf1b8197e5e447991371e6ddea34c
parentd87abe6a05a0f9f4bdf3ca0581b93596ada9d067 (diff)
parent5e60c39a2ad683d0399d29014a0f4216b61c3dd4 (diff)
Merge pull request #1443 from jeenu-arm/sdei-fixes
SDEI client EL determination fix
-rw-r--r--services/std_svc/sdei/sdei_intr_mgmt.c4
-rw-r--r--services/std_svc/sdei/sdei_private.h2
2 files changed, 3 insertions, 3 deletions
diff --git a/services/std_svc/sdei/sdei_intr_mgmt.c b/services/std_svc/sdei/sdei_intr_mgmt.c
index 264ab443..a37188ac 100644
--- a/services/std_svc/sdei/sdei_intr_mgmt.c
+++ b/services/std_svc/sdei/sdei_intr_mgmt.c
@@ -601,7 +601,7 @@ int sdei_dispatch_event(int ev_num)
return 0;
}
-static void end_sdei_explicit_dispatch(struct jmpbuf *buffer)
+static void end_sdei_synchronous_dispatch(struct jmpbuf *buffer)
{
longjmp(buffer);
}
@@ -679,7 +679,7 @@ int sdei_event_complete(int resume, uint64_t pc)
}
/* End the outstanding dispatch */
- end_sdei_explicit_dispatch(disp_ctx->dispatch_jmp);
+ end_sdei_synchronous_dispatch(disp_ctx->dispatch_jmp);
return 0;
}
diff --git a/services/std_svc/sdei/sdei_private.h b/services/std_svc/sdei/sdei_private.h
index ea602878..874fc22d 100644
--- a/services/std_svc/sdei/sdei_private.h
+++ b/services/std_svc/sdei/sdei_private.h
@@ -164,7 +164,7 @@ static inline unsigned int sdei_client_el(void)
cpu_context_t *ns_ctx = cm_get_context(NON_SECURE);
el3_state_t *el3_ctx = get_el3state_ctx(ns_ctx);
- return read_ctx_reg(el3_ctx, CTX_SPSR_EL3) & SCR_HCE_BIT ? MODE_EL2 :
+ return read_ctx_reg(el3_ctx, CTX_SCR_EL3) & SCR_HCE_BIT ? MODE_EL2 :
MODE_EL1;
}