Merge "spmd: skip loading of secure partitions on pre-v8.4 platforms" into integration

This commit is contained in:
Alexei Fedorov 2020-03-24 11:06:08 +00:00 committed by TrustedFirmware Code Review
commit 0d5864d91e
4 changed files with 14 additions and 7 deletions

View File

@ -938,13 +938,18 @@ $(eval $(call add_define,USE_ARM_LINK))
endif endif
# Generate and include sp_gen.mk if SPD is spmd and SP_LAYOUT_FILE is defined # Generate and include sp_gen.mk if SPD is spmd and SP_LAYOUT_FILE is defined
ifdef SP_LAYOUT_FILE
ifeq (${SPD},spmd) ifeq (${SPD},spmd)
ifdef SP_LAYOUT_FILE
ifeq (${SPMD_SPM_AT_SEL2},0)
$(error "SPMD with SPM at S-EL1 does not require SP_LAYOUT_FILE")
endif
-include $(BUILD_PLAT)/sp_gen.mk -include $(BUILD_PLAT)/sp_gen.mk
FIP_DEPS += sp FIP_DEPS += sp
NEED_SP_PKG := yes NEED_SP_PKG := yes
else else
$(error "SP_LAYOUT_FILE will be used only if SPD=spmd") ifeq (${SPMD_SPM_AT_SEL2},1)
$(error "SPMD with SPM at S-EL2 require SP_LAYOUT_FILE")
endif
endif endif
endif endif

View File

@ -205,7 +205,7 @@ int arm_bl2_handle_post_image_load(unsigned int image_id)
******************************************************************************/ ******************************************************************************/
int arm_bl2_plat_handle_post_image_load(unsigned int image_id) int arm_bl2_plat_handle_post_image_load(unsigned int image_id)
{ {
#if defined(SPD_spmd) #if defined(SPD_spmd) && SPMD_SPM_AT_SEL2
/* For Secure Partitions we don't need post processing */ /* For Secure Partitions we don't need post processing */
if ((image_id >= (MAX_NUMBER_IDS - MAX_SP_IDS)) && if ((image_id >= (MAX_NUMBER_IDS - MAX_SP_IDS)) &&
(image_id < MAX_NUMBER_IDS)) { (image_id < MAX_NUMBER_IDS)) {

View File

@ -183,7 +183,9 @@ else
ARM_IO_SOURCES += plat/arm/common/arm_fconf_io_storage.c \ ARM_IO_SOURCES += plat/arm/common/arm_fconf_io_storage.c \
plat/arm/common/fconf/arm_fconf_io.c plat/arm/common/fconf/arm_fconf_io.c
ifeq (${SPD},spmd) ifeq (${SPD},spmd)
ARM_IO_SOURCES += plat/arm/common/fconf/arm_fconf_sp.c ifeq (${SPMD_SPM_AT_SEL2},1)
ARM_IO_SOURCES += plat/arm/common/fconf/arm_fconf_sp.c
endif
endif endif
endif endif

View File

@ -32,11 +32,11 @@ void plat_flush_next_bl_params(void)
next_bl_params_cpy_ptr); next_bl_params_cpy_ptr);
} }
#if defined(SPD_spmd) #if defined(SPD_spmd) && SPMD_SPM_AT_SEL2
/******************************************************************************* /*******************************************************************************
* This function appends Secure Partitions to list of loadable images. * This function appends Secure Partitions to list of loadable images.
******************************************************************************/ ******************************************************************************/
void plat_add_sp_images_load_info(struct bl_load_info *load_info) static void plat_add_sp_images_load_info(struct bl_load_info *load_info)
{ {
bl_load_info_node_t *node_info = load_info->head; bl_load_info_node_t *node_info = load_info->head;
unsigned int index = 0; unsigned int index = 0;
@ -78,7 +78,7 @@ void plat_add_sp_images_load_info(struct bl_load_info *load_info)
******************************************************************************/ ******************************************************************************/
struct bl_load_info *plat_get_bl_image_load_info(void) struct bl_load_info *plat_get_bl_image_load_info(void)
{ {
#if defined(SPD_spmd) #if defined(SPD_spmd) && SPMD_SPM_AT_SEL2
bl_load_info_t *bl_load_info; bl_load_info_t *bl_load_info;
bl_load_info = get_bl_load_info_from_mem_params_desc(); bl_load_info = get_bl_load_info_from_mem_params_desc();