diff options
| author | Dimitris Papastamos <dimitris.papastamos@arm.com> | 2018-06-22 12:42:17 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-06-22 12:42:17 +0100 |
| commit | b70dcbc17222687859ac1cf58d4d7c5cb5c379fe (patch) | |
| tree | 230d4a25cf1bf1b8197e5e447991371e6ddea34c | |
| parent | d87abe6a05a0f9f4bdf3ca0581b93596ada9d067 (diff) | |
| parent | 5e60c39a2ad683d0399d29014a0f4216b61c3dd4 (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.c | 4 | ||||
| -rw-r--r-- | services/std_svc/sdei/sdei_private.h | 2 |
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; } |
