From 48ac1df9460a046f925545bc1c94d93bd3506509 Mon Sep 17 00:00:00 2001 From: Soby Mathew Date: Mon, 9 May 2016 17:20:10 +0100 Subject: [PATCH] Cater for preloaded BL33 within plat_get_ns_image_entrypoint() The PRELOADED_BL33_BASE build option allows to preload a BL33 and bypass its loading by BL2. In ARM standard platforms, the conditional behaviour of PRELOADED_BL33_BASE is moved within the implementation of `plat_get_ns_image_entrypoint()` so that all callers may benefit from this feature. Change-Id: Iea060e204ec72f8081087837854535c4e320da4e --- plat/arm/common/arm_bl31_setup.c | 5 +---- plat/arm/common/arm_common.c | 4 ++++ 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/plat/arm/common/arm_bl31_setup.c b/plat/arm/common/arm_bl31_setup.c index d6997cdee..4ed24772e 100644 --- a/plat/arm/common/arm_bl31_setup.c +++ b/plat/arm/common/arm_bl31_setup.c @@ -130,11 +130,8 @@ void arm_bl31_early_platform_setup(bl31_params_t *from_bl2, * Tell BL31 where the non-trusted software image * is located and the entry state information */ -#ifdef PRELOADED_BL33_BASE - bl33_image_ep_info.pc = PRELOADED_BL33_BASE; -#else bl33_image_ep_info.pc = plat_get_ns_image_entrypoint(); -#endif /* PRELOADED_BL33_BASE */ + bl33_image_ep_info.spsr = arm_get_spsr_for_bl33_entry(); SET_SECURITY_STATE(bl33_image_ep_info.h.attr, NON_SECURE); diff --git a/plat/arm/common/arm_common.c b/plat/arm/common/arm_common.c index 33d2b0687..03e44f421 100644 --- a/plat/arm/common/arm_common.c +++ b/plat/arm/common/arm_common.c @@ -114,7 +114,11 @@ void arm_setup_page_tables(uintptr_t total_base, uintptr_t plat_get_ns_image_entrypoint(void) { +#ifdef PRELOADED_BL33_BASE + return PRELOADED_BL33_BASE; +#else return PLAT_ARM_NS_IMAGE_OFFSET; +#endif } /*******************************************************************************