diff --git a/services/std_svc/spm/sp_setup.c b/services/std_svc/spm/sp_setup.c index b1f651f068debfa39d00df9f9e21d21889bfbcee..ecb8bd363c8ea023df11b266b3adcd2ccbe75aad 100644 --- a/services/std_svc/spm/sp_setup.c +++ b/services/std_svc/spm/sp_setup.c @@ -13,6 +13,7 @@ #include <debug.h> #include <platform_def.h> #include <platform.h> +#include <sp_res_desc.h> #include <string.h> #include <xlat_tables_v2.h> @@ -34,7 +35,7 @@ void spm_sp_setup(sp_context_t *sp_ctx) SET_PARAM_HEAD(&ep_info, PARAM_EP, VERSION_1, SECURE | EP_ST_ENABLE); /* Setup entrypoint and SPSR */ - ep_info.pc = BL32_BASE; + ep_info.pc = sp_ctx->rd.attribute.entrypoint; ep_info.spsr = SPSR_64(MODE_EL0, MODE_SP_EL0, DISABLE_ALL_EXCEPTIONS); /*