SDEI: Determine client EL from NS context's SCR_EL3
authorJeenu Viswambharan <jeenu.viswambharan@arm.com>
Thu, 21 Jun 2018 07:47:42 +0000 (08:47 +0100)
committerJeenu Viswambharan <jeenu.viswambharan@arm.com>
Thu, 21 Jun 2018 15:15:23 +0000 (16:15 +0100)
commit2ccfcb2ea555eb86122e7780010cc50fcee08f54
treede6c36318b61877f08288f3b911f1ab1c04ef209
parentaf2c9ecdf1b68c6243f6d23e26d0281d182d3b45
SDEI: Determine client EL from NS context's SCR_EL3

Currently, the dispatcher reads from SCR_EL3 register directly to
determine the EL of SDEI client. This is with the assumption that
SCR_EL3 is not modified throughout. However, with RAS work flows, it's
possible that SCR_EL3 register contains values corresponding to Secure
world, and therefore EL determination can go wrong. To mitigate this,
always read the register from the saved Non-secure context.

Change-Id: Ic85e4021deb18eb58757f676f9a001174998543a
Signed-off-by: Jeenu Viswambharan <jeenu.viswambharan@arm.com>
services/std_svc/sdei/sdei_intr_mgmt.c
services/std_svc/sdei/sdei_main.c
services/std_svc/sdei/sdei_private.h