summaryrefslogtreecommitdiff
path: root/services
diff options
context:
space:
mode:
authorJeenu Viswambharan <jeenu.viswambharan@arm.com>2018-06-22 12:00:20 +0100
committerJeenu Viswambharan <jeenu.viswambharan@arm.com>2018-06-22 12:00:20 +0100
commita8778dd53ce3b44204b1ef7f12a0f2ec39d3980a (patch)
treedb4eb91287771a661125ee13aa37749b23a94d7a /services
parentd87abe6a05a0f9f4bdf3ca0581b93596ada9d067 (diff)
SDEI: Fix determining client EL
commit 2ccfcb2ea555eb86122e7780010cc50fcee08f54 ("SDEI: Determine client EL from NS context's SCR_EL3") intended to read from SCR_EL3, but wrongly read from SPSR_EL3 instead. This patch fixes that. Change-Id: I8ffea39cc98ef59cb8e7a4c6ef4cb12011c58536 Signed-off-by: Jeenu Viswambharan <jeenu.viswambharan@arm.com>
Diffstat (limited to 'services')
-rw-r--r--services/std_svc/sdei/sdei_private.h2
1 files changed, 1 insertions, 1 deletions
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;
}