diff options
Diffstat (limited to 'services/std_svc/std_svc_setup.c')
-rw-r--r-- | services/std_svc/std_svc_setup.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/services/std_svc/std_svc_setup.c b/services/std_svc/std_svc_setup.c index 977ed7f6..ffc34716 100644 --- a/services/std_svc/std_svc_setup.c +++ b/services/std_svc/std_svc_setup.c @@ -11,6 +11,7 @@ #include <psci.h> #include <runtime_instr.h> #include <runtime_svc.h> +#include <sdei.h> #include <smcc_helpers.h> #include <spm_svc.h> #include <std_svc.h> @@ -45,6 +46,11 @@ static int32_t std_svc_setup(void) } #endif +#if SDEI_SUPPORT + /* SDEI initialisation */ + sdei_init(); +#endif + return ret; } @@ -92,7 +98,6 @@ uintptr_t std_svc_smc_handler(uint32_t smc_fid, SMC_RET1(handle, ret); } - #if ENABLE_SPM /* * Dispatch SPM calls to SPM SMC handler and return its return @@ -104,6 +109,13 @@ uintptr_t std_svc_smc_handler(uint32_t smc_fid, } #endif +#if SDEI_SUPPORT + if (is_sdei_fid(smc_fid)) { + return sdei_smc_handler(smc_fid, x1, x2, x3, x4, cookie, handle, + flags); + } +#endif + switch (smc_fid) { case ARM_STD_SVC_CALL_COUNT: /* |