arm-trusted-firmware/bl31
Madhukar Pappireddy cc485e27ac Rework smc_unknown return code path in smc_handler
The intention of this patch is to leverage the existing el3_exit() return
routine for smc_unknown return path rather than a custom set of instructions.
In order to leverage el3_exit(), the necessary counteraction (i.e., saving the
system registers apart from GP registers) must be performed. Hence a series of
instructions which save system registers( like SPSR_EL3, SCR_EL3 etc) to stack
are moved to the top of group of instructions which essentially decode the OEN
from the smc function identifier and obtain the specific service handler in
rt_svc_descs_array. This ensures that the control flow for both known and
unknown smc calls will be similar.

Change-Id: I67f94cfcba176bf8aee1a446fb58a4e383905a87
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
2019-05-21 08:19:37 +00:00
..
aarch64 Rework smc_unknown return code path in smc_handler 2019-05-21 08:19:37 +00:00
bl31.ld.S locks: linker variables to calculate per-cpu bakery lock size 2019-02-07 09:00:52 -08:00
bl31.mk BL31: Enable pointer authentication support 2019-02-27 11:58:10 +00:00
bl31_context_mgmt.c Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
bl31_main.c Minor changes to documentation and comments 2019-02-28 13:35:21 +00:00
ehf.c Minor changes to documentation and comments 2019-02-28 13:35:21 +00:00
interrupt_mgmt.c Sanitise includes across codebase 2019-01-04 10:43:17 +00:00