aboutsummaryrefslogtreecommitdiff
path: root/plat/fvp/bl1_plat_setup.c
diff options
context:
space:
mode:
Diffstat (limited to 'plat/fvp/bl1_plat_setup.c')
-rw-r--r--plat/fvp/bl1_plat_setup.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/plat/fvp/bl1_plat_setup.c b/plat/fvp/bl1_plat_setup.c
index edd3f7b..ac3b69a 100644
--- a/plat/fvp/bl1_plat_setup.c
+++ b/plat/fvp/bl1_plat_setup.c
@@ -144,3 +144,17 @@ void bl1_plat_arch_setup(void)
BL1_COHERENT_RAM_BASE,
BL1_COHERENT_RAM_LIMIT);
}
+
+
+/*******************************************************************************
+ * Before calling this function BL2 is loaded in memory and its entrypoint
+ * is set by load_image. This is a placeholder for the platform to change
+ * the entrypoint of BL2 and set SPSR and security state.
+ * On FVP we are only setting the security state, entrypoint
+ ******************************************************************************/
+void bl1_plat_set_bl2_ep_info(image_info_t *bl2_image,
+ entry_point_info_t *bl2_ep)
+{
+ SET_SECURITY_STATE(bl2_ep->h.attr, SECURE);
+ bl2_ep->spsr = SPSR_64(MODE_EL1, MODE_SP_ELX, DISABLE_ALL_EXCEPTIONS);
+}