Browse Source

Merge pull request #1443 from jeenu-arm/sdei-fixes

SDEI client EL determination fix
pull/1444/head
Dimitris Papastamos 6 years ago
committed by GitHub
parent
commit
b70dcbc172
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      services/std_svc/sdei/sdei_intr_mgmt.c
  2. 2
      services/std_svc/sdei/sdei_private.h

4
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;
}

2
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;
}

Loading…
Cancel
Save