chore: use tabs for indentation

This patch changes definitions of bl2_mem_params_descs to follow the
TF-A coding style documented at
https://trustedfirmware-a.readthedocs.io/en/latest/process/coding-style.html

Signed-off-by: Jorge Troncoso <jatron@google.com>
Change-Id: I7bd99a50a79499aca0d349e49a3e095e6c5d2f08
This commit is contained in:
Jorge Troncoso 2022-08-29 15:58:07 -07:00
parent 00460e7dfa
commit e2fe267d87
8 changed files with 588 additions and 577 deletions

View file

@ -20,71 +20,72 @@
static bl_mem_params_node_t bl2_mem_params_descs[] = { static bl_mem_params_node_t bl2_mem_params_descs[] = {
#ifdef SCP_BL2_BASE #ifdef SCP_BL2_BASE
/* Fill SCP_BL2 related information if it exists */ /* Fill SCP_BL2 related information if it exists */
{ {
.image_id = SCP_BL2_IMAGE_ID, .image_id = SCP_BL2_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_IMAGE_BINARY, SET_STATIC_PARAM_HEAD(ep_info, PARAM_IMAGE_BINARY,
VERSION_2, entry_point_info_t, SECURE | NON_EXECUTABLE), VERSION_2, entry_point_info_t, SECURE | NON_EXECUTABLE),
SET_STATIC_PARAM_HEAD(image_info, PARAM_IMAGE_BINARY, SET_STATIC_PARAM_HEAD(image_info, PARAM_IMAGE_BINARY,
VERSION_2, image_info_t, 0), VERSION_2, image_info_t, 0),
.image_info.image_base = SCP_BL2_BASE, .image_info.image_base = SCP_BL2_BASE,
.image_info.image_max_size = PLAT_CSS_MAX_SCP_BL2_SIZE, .image_info.image_max_size = PLAT_CSS_MAX_SCP_BL2_SIZE,
.next_handoff_image_id = INVALID_IMAGE_ID, .next_handoff_image_id = INVALID_IMAGE_ID,
}, },
#endif /* SCP_BL2_BASE */ #endif /* SCP_BL2_BASE */
/* Fill BL32 related information */ /* Fill BL32 related information */
{ {
.image_id = BL32_IMAGE_ID, .image_id = BL32_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP, SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
VERSION_2, entry_point_info_t, VERSION_2, entry_point_info_t,
SECURE | EXECUTABLE | EP_FIRST_EXE), SECURE | EXECUTABLE | EP_FIRST_EXE),
.ep_info.pc = BL32_BASE, .ep_info.pc = BL32_BASE,
.ep_info.spsr = SPSR_MODE32(MODE32_mon, SPSR_T_ARM, .ep_info.spsr = SPSR_MODE32(MODE32_mon, SPSR_T_ARM,
SPSR_E_LITTLE, DISABLE_ALL_EXCEPTIONS), SPSR_E_LITTLE, DISABLE_ALL_EXCEPTIONS),
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, IMAGE_ATTRIB_PLAT_SETUP), VERSION_2, image_info_t, IMAGE_ATTRIB_PLAT_SETUP),
.image_info.image_base = BL32_BASE, .image_info.image_base = BL32_BASE,
.image_info.image_max_size = BL32_LIMIT - BL32_BASE, .image_info.image_max_size = BL32_LIMIT - BL32_BASE,
.next_handoff_image_id = BL33_IMAGE_ID, .next_handoff_image_id = BL33_IMAGE_ID,
}, },
/* Fill HW_CONFIG related information if it exists */ /* Fill HW_CONFIG related information if it exists */
{ {
.image_id = HW_CONFIG_ID, .image_id = HW_CONFIG_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_IMAGE_BINARY, SET_STATIC_PARAM_HEAD(ep_info, PARAM_IMAGE_BINARY,
VERSION_2, entry_point_info_t, NON_SECURE | NON_EXECUTABLE), VERSION_2, entry_point_info_t,
SET_STATIC_PARAM_HEAD(image_info, PARAM_IMAGE_BINARY, NON_SECURE | NON_EXECUTABLE),
VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING), SET_STATIC_PARAM_HEAD(image_info, PARAM_IMAGE_BINARY,
.next_handoff_image_id = INVALID_IMAGE_ID, VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING),
}, .next_handoff_image_id = INVALID_IMAGE_ID,
},
/* Fill BL33 related information */ /* Fill BL33 related information */
{ {
.image_id = BL33_IMAGE_ID, .image_id = BL33_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP, SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
VERSION_2, entry_point_info_t, NON_SECURE | EXECUTABLE), VERSION_2, entry_point_info_t, NON_SECURE | EXECUTABLE),
#ifdef PRELOADED_BL33_BASE #ifdef PRELOADED_BL33_BASE
.ep_info.pc = PRELOADED_BL33_BASE, .ep_info.pc = PRELOADED_BL33_BASE,
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING), VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING),
#else #else
.ep_info.pc = PLAT_ARM_NS_IMAGE_BASE, .ep_info.pc = PLAT_ARM_NS_IMAGE_BASE,
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, 0), VERSION_2, image_info_t, 0),
.image_info.image_base = PLAT_ARM_NS_IMAGE_BASE, .image_info.image_base = PLAT_ARM_NS_IMAGE_BASE,
.image_info.image_max_size = ARM_DRAM1_BASE + ARM_DRAM1_SIZE .image_info.image_max_size = ARM_DRAM1_BASE + ARM_DRAM1_SIZE
- PLAT_ARM_NS_IMAGE_BASE, - PLAT_ARM_NS_IMAGE_BASE,
#endif /* PRELOADED_BL33_BASE */ #endif /* PRELOADED_BL33_BASE */
.next_handoff_image_id = INVALID_IMAGE_ID, .next_handoff_image_id = INVALID_IMAGE_ID,
} }
}; };
REGISTER_BL_IMAGE_DESCS(bl2_mem_params_descs) REGISTER_BL_IMAGE_DESCS(bl2_mem_params_descs)

View file

@ -20,203 +20,207 @@
static bl_mem_params_node_t bl2_mem_params_descs[] = { static bl_mem_params_node_t bl2_mem_params_descs[] = {
#ifdef SCP_BL2_BASE #ifdef SCP_BL2_BASE
/* Fill SCP_BL2 related information if it exists */ /* Fill SCP_BL2 related information if it exists */
{ {
.image_id = SCP_BL2_IMAGE_ID, .image_id = SCP_BL2_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_IMAGE_BINARY, SET_STATIC_PARAM_HEAD(ep_info, PARAM_IMAGE_BINARY,
VERSION_2, entry_point_info_t, SECURE | NON_EXECUTABLE), VERSION_2, entry_point_info_t, SECURE | NON_EXECUTABLE),
SET_STATIC_PARAM_HEAD(image_info, PARAM_IMAGE_BINARY, SET_STATIC_PARAM_HEAD(image_info, PARAM_IMAGE_BINARY,
VERSION_2, image_info_t, 0), VERSION_2, image_info_t, 0),
.image_info.image_base = SCP_BL2_BASE, .image_info.image_base = SCP_BL2_BASE,
.image_info.image_max_size = PLAT_CSS_MAX_SCP_BL2_SIZE, .image_info.image_max_size = PLAT_CSS_MAX_SCP_BL2_SIZE,
.next_handoff_image_id = INVALID_IMAGE_ID, .next_handoff_image_id = INVALID_IMAGE_ID,
}, },
#endif /* SCP_BL2_BASE */ #endif /* SCP_BL2_BASE */
#ifdef EL3_PAYLOAD_BASE #ifdef EL3_PAYLOAD_BASE
/* Fill EL3 payload related information (BL31 is EL3 payload)*/ /* Fill EL3 payload related information (BL31 is EL3 payload)*/
{ {
.image_id = BL31_IMAGE_ID, .image_id = BL31_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP, SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
VERSION_2, entry_point_info_t, VERSION_2, entry_point_info_t,
SECURE | EXECUTABLE | EP_FIRST_EXE), SECURE | EXECUTABLE | EP_FIRST_EXE),
.ep_info.pc = EL3_PAYLOAD_BASE, .ep_info.pc = EL3_PAYLOAD_BASE,
.ep_info.spsr = SPSR_64(MODE_EL3, MODE_SP_ELX, .ep_info.spsr = SPSR_64(MODE_EL3, MODE_SP_ELX,
DISABLE_ALL_EXCEPTIONS), DISABLE_ALL_EXCEPTIONS),
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, VERSION_2, image_info_t,
IMAGE_ATTRIB_PLAT_SETUP | IMAGE_ATTRIB_SKIP_LOADING), IMAGE_ATTRIB_PLAT_SETUP | IMAGE_ATTRIB_SKIP_LOADING),
.next_handoff_image_id = INVALID_IMAGE_ID, .next_handoff_image_id = INVALID_IMAGE_ID,
}, },
#else /* EL3_PAYLOAD_BASE */ #else /* EL3_PAYLOAD_BASE */
/* Fill BL31 related information */ /* Fill BL31 related information */
{ {
.image_id = BL31_IMAGE_ID, .image_id = BL31_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP, SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
VERSION_2, entry_point_info_t, VERSION_2, entry_point_info_t,
SECURE | EXECUTABLE | EP_FIRST_EXE), SECURE | EXECUTABLE | EP_FIRST_EXE),
.ep_info.pc = BL31_BASE, .ep_info.pc = BL31_BASE,
.ep_info.spsr = SPSR_64(MODE_EL3, MODE_SP_ELX, .ep_info.spsr = SPSR_64(MODE_EL3, MODE_SP_ELX,
DISABLE_ALL_EXCEPTIONS), DISABLE_ALL_EXCEPTIONS),
#if DEBUG #if DEBUG
.ep_info.args.arg3 = ARM_BL31_PLAT_PARAM_VAL, .ep_info.args.arg3 = ARM_BL31_PLAT_PARAM_VAL,
#endif #endif
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, IMAGE_ATTRIB_PLAT_SETUP), VERSION_2, image_info_t, IMAGE_ATTRIB_PLAT_SETUP),
.image_info.image_base = BL31_BASE, .image_info.image_base = BL31_BASE,
.image_info.image_max_size = BL31_LIMIT - BL31_BASE, .image_info.image_max_size = BL31_LIMIT - BL31_BASE,
# if defined(BL32_BASE) # if defined(BL32_BASE)
.next_handoff_image_id = BL32_IMAGE_ID, .next_handoff_image_id = BL32_IMAGE_ID,
# elif ENABLE_RME # elif ENABLE_RME
.next_handoff_image_id = RMM_IMAGE_ID, .next_handoff_image_id = RMM_IMAGE_ID,
# else # else
.next_handoff_image_id = BL33_IMAGE_ID, .next_handoff_image_id = BL33_IMAGE_ID,
# endif # endif
}, },
/* Fill HW_CONFIG related information */ /* Fill HW_CONFIG related information */
{ {
.image_id = HW_CONFIG_ID, .image_id = HW_CONFIG_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_IMAGE_BINARY, SET_STATIC_PARAM_HEAD(ep_info, PARAM_IMAGE_BINARY,
VERSION_2, entry_point_info_t, NON_SECURE | NON_EXECUTABLE), VERSION_2, entry_point_info_t,
SET_STATIC_PARAM_HEAD(image_info, PARAM_IMAGE_BINARY, NON_SECURE | NON_EXECUTABLE),
VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING), SET_STATIC_PARAM_HEAD(image_info, PARAM_IMAGE_BINARY,
.next_handoff_image_id = INVALID_IMAGE_ID, VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING),
}, .next_handoff_image_id = INVALID_IMAGE_ID,
},
/* Fill SOC_FW_CONFIG related information */ /* Fill SOC_FW_CONFIG related information */
{ {
.image_id = SOC_FW_CONFIG_ID, .image_id = SOC_FW_CONFIG_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_IMAGE_BINARY, SET_STATIC_PARAM_HEAD(ep_info, PARAM_IMAGE_BINARY,
VERSION_2, entry_point_info_t, SECURE | NON_EXECUTABLE), VERSION_2, entry_point_info_t, SECURE | NON_EXECUTABLE),
SET_STATIC_PARAM_HEAD(image_info, PARAM_IMAGE_BINARY, SET_STATIC_PARAM_HEAD(image_info, PARAM_IMAGE_BINARY,
VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING), VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING),
.next_handoff_image_id = INVALID_IMAGE_ID, .next_handoff_image_id = INVALID_IMAGE_ID,
}, },
# if ENABLE_RME # if ENABLE_RME
/* Fill RMM related information */ /* Fill RMM related information */
{ {
.image_id = RMM_IMAGE_ID, .image_id = RMM_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP, SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
VERSION_2, entry_point_info_t, EP_REALM | EXECUTABLE), VERSION_2, entry_point_info_t, EP_REALM | EXECUTABLE),
.ep_info.pc = RMM_BASE, .ep_info.pc = RMM_BASE,
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, 0), VERSION_2, image_info_t, 0),
.image_info.image_base = RMM_BASE, .image_info.image_base = RMM_BASE,
.image_info.image_max_size = RMM_LIMIT - RMM_BASE, .image_info.image_max_size = RMM_LIMIT - RMM_BASE,
.next_handoff_image_id = BL33_IMAGE_ID, .next_handoff_image_id = BL33_IMAGE_ID,
}, },
# endif # endif
# ifdef BL32_BASE # ifdef BL32_BASE
/* Fill BL32 related information */ /* Fill BL32 related information */
{ {
.image_id = BL32_IMAGE_ID, .image_id = BL32_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP, SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
VERSION_2, entry_point_info_t, SECURE | EXECUTABLE), VERSION_2, entry_point_info_t, SECURE | EXECUTABLE),
.ep_info.pc = BL32_BASE, .ep_info.pc = BL32_BASE,
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, 0), VERSION_2, image_info_t, 0),
.image_info.image_base = BL32_BASE, .image_info.image_base = BL32_BASE,
.image_info.image_max_size = BL32_LIMIT - BL32_BASE, .image_info.image_max_size = BL32_LIMIT - BL32_BASE,
# if ENABLE_RME # if ENABLE_RME
.next_handoff_image_id = RMM_IMAGE_ID, .next_handoff_image_id = RMM_IMAGE_ID,
# else # else
.next_handoff_image_id = BL33_IMAGE_ID, .next_handoff_image_id = BL33_IMAGE_ID,
# endif # endif
}, },
/* /*
* Fill BL32 external 1 related information. * Fill BL32 external 1 related information.
* A typical use for extra1 image is with OP-TEE where it is the pager image. * A typical use for extra1 image is with OP-TEE where it is the pager
* image.
*/ */
{ {
.image_id = BL32_EXTRA1_IMAGE_ID, .image_id = BL32_EXTRA1_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP, SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
VERSION_2, entry_point_info_t, SECURE | NON_EXECUTABLE), VERSION_2, entry_point_info_t, SECURE | NON_EXECUTABLE),
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING), VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING),
.image_info.image_base = BL32_BASE, .image_info.image_base = BL32_BASE,
.image_info.image_max_size = BL32_LIMIT - BL32_BASE, .image_info.image_max_size = BL32_LIMIT - BL32_BASE,
.next_handoff_image_id = INVALID_IMAGE_ID, .next_handoff_image_id = INVALID_IMAGE_ID,
}, },
/* /*
* Fill BL32 external 2 related information. * Fill BL32 external 2 related information.
* A typical use for extra2 image is with OP-TEE where it is the paged image. * A typical use for extra2 image is with OP-TEE where it is the paged
* image.
*/ */
{ {
.image_id = BL32_EXTRA2_IMAGE_ID, .image_id = BL32_EXTRA2_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP, SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
VERSION_2, entry_point_info_t, SECURE | NON_EXECUTABLE), VERSION_2, entry_point_info_t, SECURE | NON_EXECUTABLE),
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING), VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING),
#ifdef SPD_opteed #ifdef SPD_opteed
.image_info.image_base = ARM_OPTEE_PAGEABLE_LOAD_BASE, .image_info.image_base = ARM_OPTEE_PAGEABLE_LOAD_BASE,
.image_info.image_max_size = ARM_OPTEE_PAGEABLE_LOAD_SIZE, .image_info.image_max_size = ARM_OPTEE_PAGEABLE_LOAD_SIZE,
#endif #endif
.next_handoff_image_id = INVALID_IMAGE_ID, .next_handoff_image_id = INVALID_IMAGE_ID,
}, },
/* Fill TOS_FW_CONFIG related information */ /* Fill TOS_FW_CONFIG related information */
{ {
.image_id = TOS_FW_CONFIG_ID, .image_id = TOS_FW_CONFIG_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_IMAGE_BINARY, SET_STATIC_PARAM_HEAD(ep_info, PARAM_IMAGE_BINARY,
VERSION_2, entry_point_info_t, SECURE | NON_EXECUTABLE), VERSION_2, entry_point_info_t, SECURE | NON_EXECUTABLE),
SET_STATIC_PARAM_HEAD(image_info, PARAM_IMAGE_BINARY, SET_STATIC_PARAM_HEAD(image_info, PARAM_IMAGE_BINARY,
VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING), VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING),
.next_handoff_image_id = INVALID_IMAGE_ID, .next_handoff_image_id = INVALID_IMAGE_ID,
}, },
# endif /* BL32_BASE */ # endif /* BL32_BASE */
/* Fill BL33 related information */ /* Fill BL33 related information */
{ {
.image_id = BL33_IMAGE_ID, .image_id = BL33_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP, SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
VERSION_2, entry_point_info_t, NON_SECURE | EXECUTABLE), VERSION_2, entry_point_info_t, NON_SECURE | EXECUTABLE),
# ifdef PRELOADED_BL33_BASE # ifdef PRELOADED_BL33_BASE
.ep_info.pc = PRELOADED_BL33_BASE, .ep_info.pc = PRELOADED_BL33_BASE,
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING), VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING),
# else # else
.ep_info.pc = PLAT_ARM_NS_IMAGE_BASE, .ep_info.pc = PLAT_ARM_NS_IMAGE_BASE,
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, 0), VERSION_2, image_info_t, 0),
.image_info.image_base = PLAT_ARM_NS_IMAGE_BASE, .image_info.image_base = PLAT_ARM_NS_IMAGE_BASE,
.image_info.image_max_size = ARM_DRAM1_BASE + ARM_DRAM1_SIZE .image_info.image_max_size = ARM_DRAM1_BASE + ARM_DRAM1_SIZE
- PLAT_ARM_NS_IMAGE_BASE, - PLAT_ARM_NS_IMAGE_BASE,
# endif /* PRELOADED_BL33_BASE */ # endif /* PRELOADED_BL33_BASE */
.next_handoff_image_id = INVALID_IMAGE_ID, .next_handoff_image_id = INVALID_IMAGE_ID,
}, },
/* Fill NT_FW_CONFIG related information */ /* Fill NT_FW_CONFIG related information */
{ {
.image_id = NT_FW_CONFIG_ID, .image_id = NT_FW_CONFIG_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_IMAGE_BINARY, SET_STATIC_PARAM_HEAD(ep_info, PARAM_IMAGE_BINARY,
VERSION_2, entry_point_info_t, NON_SECURE | NON_EXECUTABLE), VERSION_2, entry_point_info_t,
SET_STATIC_PARAM_HEAD(image_info, PARAM_IMAGE_BINARY, NON_SECURE | NON_EXECUTABLE),
VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING), SET_STATIC_PARAM_HEAD(image_info, PARAM_IMAGE_BINARY,
.next_handoff_image_id = INVALID_IMAGE_ID, VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING),
} .next_handoff_image_id = INVALID_IMAGE_ID,
}
#endif /* EL3_PAYLOAD_BASE */ #endif /* EL3_PAYLOAD_BASE */
}; };

View file

@ -22,84 +22,84 @@ static bl_mem_params_node_t bl2_mem_params_descs[] = {
#ifdef SCP_BL2_BASE #ifdef SCP_BL2_BASE
/* Fill SCP_BL2 related information if it exists */ /* Fill SCP_BL2 related information if it exists */
{ {
.image_id = SCP_BL2_IMAGE_ID, .image_id = SCP_BL2_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_IMAGE_BINARY, SET_STATIC_PARAM_HEAD(ep_info, PARAM_IMAGE_BINARY,
VERSION_2, entry_point_info_t, SECURE | NON_EXECUTABLE), VERSION_2, entry_point_info_t, SECURE | NON_EXECUTABLE),
SET_STATIC_PARAM_HEAD(image_info, PARAM_IMAGE_BINARY, SET_STATIC_PARAM_HEAD(image_info, PARAM_IMAGE_BINARY,
VERSION_2, image_info_t, 0), VERSION_2, image_info_t, 0),
.image_info.image_base = SCP_BL2_BASE, .image_info.image_base = SCP_BL2_BASE,
.image_info.image_max_size = PLAT_MAX_SCP_BL2_SIZE, .image_info.image_max_size = PLAT_MAX_SCP_BL2_SIZE,
.next_handoff_image_id = INVALID_IMAGE_ID, .next_handoff_image_id = INVALID_IMAGE_ID,
}, },
#endif /* SCP_BL2_BASE */ #endif /* SCP_BL2_BASE */
/* Fill BL31 related information */ /* Fill BL31 related information */
{ {
.image_id = BL31_IMAGE_ID, .image_id = BL31_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP, SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
VERSION_2, entry_point_info_t, VERSION_2, entry_point_info_t,
SECURE | EXECUTABLE | EP_FIRST_EXE), SECURE | EXECUTABLE | EP_FIRST_EXE),
.ep_info.pc = BL31_BASE, .ep_info.pc = BL31_BASE,
.ep_info.spsr = SPSR_64(MODE_EL3, MODE_SP_ELX, .ep_info.spsr = SPSR_64(MODE_EL3, MODE_SP_ELX,
DISABLE_ALL_EXCEPTIONS), DISABLE_ALL_EXCEPTIONS),
#if DEBUG #if DEBUG
.ep_info.args.arg3 = BRCM_BL31_PLAT_PARAM_VAL, .ep_info.args.arg3 = BRCM_BL31_PLAT_PARAM_VAL,
#endif #endif
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, IMAGE_ATTRIB_PLAT_SETUP), VERSION_2, image_info_t, IMAGE_ATTRIB_PLAT_SETUP),
.image_info.image_base = BL31_BASE, .image_info.image_base = BL31_BASE,
.image_info.image_max_size = BL31_LIMIT - BL31_BASE, .image_info.image_max_size = BL31_LIMIT - BL31_BASE,
#ifdef BL32_BASE #ifdef BL32_BASE
.next_handoff_image_id = BL32_IMAGE_ID, .next_handoff_image_id = BL32_IMAGE_ID,
#else #else
.next_handoff_image_id = BL33_IMAGE_ID, .next_handoff_image_id = BL33_IMAGE_ID,
#endif #endif
}, },
#ifdef BL32_BASE #ifdef BL32_BASE
/* Fill BL32 related information */ /* Fill BL32 related information */
{ {
.image_id = BL32_IMAGE_ID, .image_id = BL32_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP, SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
VERSION_2, entry_point_info_t, SECURE | EXECUTABLE), VERSION_2, entry_point_info_t, SECURE | EXECUTABLE),
.ep_info.pc = BL32_BASE, .ep_info.pc = BL32_BASE,
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, 0), VERSION_2, image_info_t, 0),
.image_info.image_base = BL32_BASE, .image_info.image_base = BL32_BASE,
.image_info.image_max_size = BL32_LIMIT - BL32_BASE, .image_info.image_max_size = BL32_LIMIT - BL32_BASE,
.next_handoff_image_id = BL33_IMAGE_ID, .next_handoff_image_id = BL33_IMAGE_ID,
}, },
#endif /* BL32_BASE */ #endif /* BL32_BASE */
/* Fill BL33 related information */ /* Fill BL33 related information */
{ {
.image_id = BL33_IMAGE_ID, .image_id = BL33_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP, SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
VERSION_2, entry_point_info_t, NON_SECURE | EXECUTABLE), VERSION_2, entry_point_info_t, NON_SECURE | EXECUTABLE),
#ifdef PRELOADED_BL33_BASE #ifdef PRELOADED_BL33_BASE
.ep_info.pc = PRELOADED_BL33_BASE, .ep_info.pc = PRELOADED_BL33_BASE,
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING), VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING),
#else #else
.ep_info.pc = PLAT_BRCM_NS_IMAGE_OFFSET, .ep_info.pc = PLAT_BRCM_NS_IMAGE_OFFSET,
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, 0), VERSION_2, image_info_t, 0),
.image_info.image_base = PLAT_BRCM_NS_IMAGE_OFFSET, .image_info.image_base = PLAT_BRCM_NS_IMAGE_OFFSET,
.image_info.image_max_size = BRCM_DRAM1_SIZE, .image_info.image_max_size = BRCM_DRAM1_SIZE,
#endif /* PRELOADED_BL33_BASE */ #endif /* PRELOADED_BL33_BASE */
.next_handoff_image_id = INVALID_IMAGE_ID, .next_handoff_image_id = INVALID_IMAGE_ID,
} }
}; };

View file

@ -21,144 +21,146 @@
static bl_mem_params_node_t bl2_mem_params_descs[] = { static bl_mem_params_node_t bl2_mem_params_descs[] = {
#ifdef SCP_BL2_BASE #ifdef SCP_BL2_BASE
/* Fill SCP_BL2 related information if it exists */ /* Fill SCP_BL2 related information if it exists */
{ {
.image_id = SCP_BL2_IMAGE_ID, .image_id = SCP_BL2_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_IMAGE_BINARY, SET_STATIC_PARAM_HEAD(ep_info, PARAM_IMAGE_BINARY,
VERSION_2, entry_point_info_t, SECURE | NON_EXECUTABLE), VERSION_2, entry_point_info_t, SECURE | NON_EXECUTABLE),
SET_STATIC_PARAM_HEAD(image_info, PARAM_IMAGE_BINARY, SET_STATIC_PARAM_HEAD(image_info, PARAM_IMAGE_BINARY,
VERSION_2, image_info_t, IMAGE_ATTRIB_PLAT_SETUP), VERSION_2, image_info_t, IMAGE_ATTRIB_PLAT_SETUP),
.image_info.image_base = SCP_BL2_BASE, .image_info.image_base = SCP_BL2_BASE,
.image_info.image_max_size = SCP_BL2_SIZE, .image_info.image_max_size = SCP_BL2_SIZE,
.next_handoff_image_id = INVALID_IMAGE_ID, .next_handoff_image_id = INVALID_IMAGE_ID,
}, },
#endif /* SCP_BL2_BASE */ #endif /* SCP_BL2_BASE */
#ifdef EL3_PAYLOAD_BASE #ifdef EL3_PAYLOAD_BASE
/* Fill EL3 payload related information (BL31 is EL3 payload)*/ /* Fill EL3 payload related information (BL31 is EL3 payload)*/
{ {
.image_id = BL31_IMAGE_ID, .image_id = BL31_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP, SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
VERSION_2, entry_point_info_t, VERSION_2, entry_point_info_t,
SECURE | EXECUTABLE | EP_FIRST_EXE), SECURE | EXECUTABLE | EP_FIRST_EXE),
.ep_info.pc = EL3_PAYLOAD_BASE, .ep_info.pc = EL3_PAYLOAD_BASE,
.ep_info.spsr = SPSR_64(MODE_EL3, MODE_SP_ELX, .ep_info.spsr = SPSR_64(MODE_EL3, MODE_SP_ELX,
DISABLE_ALL_EXCEPTIONS), DISABLE_ALL_EXCEPTIONS),
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, VERSION_2, image_info_t,
IMAGE_ATTRIB_PLAT_SETUP | IMAGE_ATTRIB_SKIP_LOADING), IMAGE_ATTRIB_PLAT_SETUP | IMAGE_ATTRIB_SKIP_LOADING),
.next_handoff_image_id = INVALID_IMAGE_ID, .next_handoff_image_id = INVALID_IMAGE_ID,
}, },
#else /* EL3_PAYLOAD_BASE */ #else /* EL3_PAYLOAD_BASE */
/* Fill BL31 related information */ /* Fill BL31 related information */
{ {
.image_id = BL31_IMAGE_ID, .image_id = BL31_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP, SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
VERSION_2, entry_point_info_t, VERSION_2, entry_point_info_t,
SECURE | EXECUTABLE | EP_FIRST_EXE), SECURE | EXECUTABLE | EP_FIRST_EXE),
.ep_info.pc = BL31_BASE, .ep_info.pc = BL31_BASE,
.ep_info.spsr = SPSR_64(MODE_EL3, MODE_SP_ELX, .ep_info.spsr = SPSR_64(MODE_EL3, MODE_SP_ELX,
DISABLE_ALL_EXCEPTIONS), DISABLE_ALL_EXCEPTIONS),
#if DEBUG #if DEBUG
.ep_info.args.arg1 = HIKEY_BL31_PLAT_PARAM_VAL, .ep_info.args.arg1 = HIKEY_BL31_PLAT_PARAM_VAL,
#endif #endif
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, IMAGE_ATTRIB_PLAT_SETUP), VERSION_2, image_info_t, IMAGE_ATTRIB_PLAT_SETUP),
.image_info.image_base = BL31_BASE, .image_info.image_base = BL31_BASE,
.image_info.image_max_size = BL31_LIMIT - BL31_BASE, .image_info.image_max_size = BL31_LIMIT - BL31_BASE,
# ifdef BL32_BASE # ifdef BL32_BASE
.next_handoff_image_id = BL32_IMAGE_ID, .next_handoff_image_id = BL32_IMAGE_ID,
# else # else
.next_handoff_image_id = BL33_IMAGE_ID, .next_handoff_image_id = BL33_IMAGE_ID,
# endif # endif
}, },
# ifdef BL32_BASE # ifdef BL32_BASE
/* Fill BL32 related information */ /* Fill BL32 related information */
{ {
.image_id = BL32_IMAGE_ID, .image_id = BL32_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP, SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
VERSION_2, entry_point_info_t, SECURE | EXECUTABLE), VERSION_2, entry_point_info_t, SECURE | EXECUTABLE),
.ep_info.pc = BL32_BASE, .ep_info.pc = BL32_BASE,
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, 0), VERSION_2, image_info_t, 0),
.image_info.image_base = BL32_BASE, .image_info.image_base = BL32_BASE,
.image_info.image_max_size = BL32_LIMIT - BL32_BASE, .image_info.image_max_size = BL32_LIMIT - BL32_BASE,
.next_handoff_image_id = BL33_IMAGE_ID, .next_handoff_image_id = BL33_IMAGE_ID,
}, },
/* /*
* Fill BL32 external 1 related information. * Fill BL32 external 1 related information.
* A typical use for extra1 image is with OP-TEE where it is the pager image. * A typical use for extra1 image is with OP-TEE where it is the pager
* image.
*/ */
{ {
.image_id = BL32_EXTRA1_IMAGE_ID, .image_id = BL32_EXTRA1_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP, SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
VERSION_2, entry_point_info_t, SECURE | NON_EXECUTABLE), VERSION_2, entry_point_info_t, SECURE | NON_EXECUTABLE),
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING), VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING),
.image_info.image_base = BL32_BASE, .image_info.image_base = BL32_BASE,
.image_info.image_max_size = BL32_LIMIT - BL32_BASE, .image_info.image_max_size = BL32_LIMIT - BL32_BASE,
.next_handoff_image_id = INVALID_IMAGE_ID, .next_handoff_image_id = INVALID_IMAGE_ID,
}, },
/* /*
* Fill BL32 external 2 related information. * Fill BL32 external 2 related information.
* A typical use for extra2 image is with OP-TEE where it is the paged image. * A typical use for extra2 image is with OP-TEE where it is the paged
* image.
*/ */
{ {
.image_id = BL32_EXTRA2_IMAGE_ID, .image_id = BL32_EXTRA2_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP, SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
VERSION_2, entry_point_info_t, SECURE | NON_EXECUTABLE), VERSION_2, entry_point_info_t, SECURE | NON_EXECUTABLE),
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING), VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING),
#ifdef SPD_opteed #ifdef SPD_opteed
.image_info.image_base = HIKEY_OPTEE_PAGEABLE_LOAD_BASE, .image_info.image_base = HIKEY_OPTEE_PAGEABLE_LOAD_BASE,
.image_info.image_max_size = HIKEY_OPTEE_PAGEABLE_LOAD_SIZE, .image_info.image_max_size = HIKEY_OPTEE_PAGEABLE_LOAD_SIZE,
#endif #endif
.next_handoff_image_id = INVALID_IMAGE_ID, .next_handoff_image_id = INVALID_IMAGE_ID,
}, },
# endif /* BL32_BASE */ # endif /* BL32_BASE */
/* Fill BL33 related information */ /* Fill BL33 related information */
{ {
.image_id = BL33_IMAGE_ID, .image_id = BL33_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP, SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
VERSION_2, entry_point_info_t, NON_SECURE | EXECUTABLE), VERSION_2, entry_point_info_t, NON_SECURE | EXECUTABLE),
# ifdef PRELOADED_BL33_BASE # ifdef PRELOADED_BL33_BASE
.ep_info.pc = PRELOADED_BL33_BASE, .ep_info.pc = PRELOADED_BL33_BASE,
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING), VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING),
# else # else
.ep_info.pc = HIKEY_NS_IMAGE_OFFSET, .ep_info.pc = HIKEY_NS_IMAGE_OFFSET,
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, 0), VERSION_2, image_info_t, 0),
.image_info.image_base = HIKEY_NS_IMAGE_OFFSET, .image_info.image_base = HIKEY_NS_IMAGE_OFFSET,
.image_info.image_max_size = 0x200000 /* 2MB */, .image_info.image_max_size = 0x200000 /* 2MB */,
# endif /* PRELOADED_BL33_BASE */ # endif /* PRELOADED_BL33_BASE */
.next_handoff_image_id = INVALID_IMAGE_ID, .next_handoff_image_id = INVALID_IMAGE_ID,
} }
#endif /* EL3_PAYLOAD_BASE */ #endif /* EL3_PAYLOAD_BASE */
}; };

View file

@ -21,144 +21,146 @@
static bl_mem_params_node_t bl2_mem_params_descs[] = { static bl_mem_params_node_t bl2_mem_params_descs[] = {
#ifdef SCP_BL2_BASE #ifdef SCP_BL2_BASE
/* Fill SCP_BL2 related information if it exists */ /* Fill SCP_BL2 related information if it exists */
{ {
.image_id = SCP_BL2_IMAGE_ID, .image_id = SCP_BL2_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_IMAGE_BINARY, SET_STATIC_PARAM_HEAD(ep_info, PARAM_IMAGE_BINARY,
VERSION_2, entry_point_info_t, SECURE | NON_EXECUTABLE), VERSION_2, entry_point_info_t, SECURE | NON_EXECUTABLE),
SET_STATIC_PARAM_HEAD(image_info, PARAM_IMAGE_BINARY, SET_STATIC_PARAM_HEAD(image_info, PARAM_IMAGE_BINARY,
VERSION_2, image_info_t, IMAGE_ATTRIB_PLAT_SETUP), VERSION_2, image_info_t, IMAGE_ATTRIB_PLAT_SETUP),
.image_info.image_base = SCP_BL2_BASE, .image_info.image_base = SCP_BL2_BASE,
.image_info.image_max_size = SCP_BL2_SIZE, .image_info.image_max_size = SCP_BL2_SIZE,
.next_handoff_image_id = INVALID_IMAGE_ID, .next_handoff_image_id = INVALID_IMAGE_ID,
}, },
#endif /* SCP_BL2_BASE */ #endif /* SCP_BL2_BASE */
#ifdef EL3_PAYLOAD_BASE #ifdef EL3_PAYLOAD_BASE
/* Fill EL3 payload related information (BL31 is EL3 payload)*/ /* Fill EL3 payload related information (BL31 is EL3 payload)*/
{ {
.image_id = BL31_IMAGE_ID, .image_id = BL31_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP, SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
VERSION_2, entry_point_info_t, VERSION_2, entry_point_info_t,
SECURE | EXECUTABLE | EP_FIRST_EXE), SECURE | EXECUTABLE | EP_FIRST_EXE),
.ep_info.pc = EL3_PAYLOAD_BASE, .ep_info.pc = EL3_PAYLOAD_BASE,
.ep_info.spsr = SPSR_64(MODE_EL3, MODE_SP_ELX, .ep_info.spsr = SPSR_64(MODE_EL3, MODE_SP_ELX,
DISABLE_ALL_EXCEPTIONS), DISABLE_ALL_EXCEPTIONS),
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, VERSION_2, image_info_t,
IMAGE_ATTRIB_PLAT_SETUP | IMAGE_ATTRIB_SKIP_LOADING), IMAGE_ATTRIB_PLAT_SETUP | IMAGE_ATTRIB_SKIP_LOADING),
.next_handoff_image_id = INVALID_IMAGE_ID, .next_handoff_image_id = INVALID_IMAGE_ID,
}, },
#else /* EL3_PAYLOAD_BASE */ #else /* EL3_PAYLOAD_BASE */
/* Fill BL31 related information */ /* Fill BL31 related information */
{ {
.image_id = BL31_IMAGE_ID, .image_id = BL31_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP, SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
VERSION_2, entry_point_info_t, VERSION_2, entry_point_info_t,
SECURE | EXECUTABLE | EP_FIRST_EXE), SECURE | EXECUTABLE | EP_FIRST_EXE),
.ep_info.pc = BL31_BASE, .ep_info.pc = BL31_BASE,
.ep_info.spsr = SPSR_64(MODE_EL3, MODE_SP_ELX, .ep_info.spsr = SPSR_64(MODE_EL3, MODE_SP_ELX,
DISABLE_ALL_EXCEPTIONS), DISABLE_ALL_EXCEPTIONS),
#if DEBUG #if DEBUG
.ep_info.args.arg1 = HIKEY960_BL31_PLAT_PARAM_VAL, .ep_info.args.arg1 = HIKEY960_BL31_PLAT_PARAM_VAL,
#endif #endif
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, IMAGE_ATTRIB_PLAT_SETUP), VERSION_2, image_info_t, IMAGE_ATTRIB_PLAT_SETUP),
.image_info.image_base = BL31_BASE, .image_info.image_base = BL31_BASE,
.image_info.image_max_size = BL31_LIMIT - BL31_BASE, .image_info.image_max_size = BL31_LIMIT - BL31_BASE,
# ifdef BL32_BASE # ifdef BL32_BASE
.next_handoff_image_id = BL32_IMAGE_ID, .next_handoff_image_id = BL32_IMAGE_ID,
# else # else
.next_handoff_image_id = BL33_IMAGE_ID, .next_handoff_image_id = BL33_IMAGE_ID,
# endif # endif
}, },
# ifdef BL32_BASE # ifdef BL32_BASE
/* Fill BL32 related information */ /* Fill BL32 related information */
{ {
.image_id = BL32_IMAGE_ID, .image_id = BL32_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP, SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
VERSION_2, entry_point_info_t, SECURE | EXECUTABLE), VERSION_2, entry_point_info_t, SECURE | EXECUTABLE),
.ep_info.pc = BL32_BASE, .ep_info.pc = BL32_BASE,
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, 0), VERSION_2, image_info_t, 0),
.image_info.image_base = BL32_BASE, .image_info.image_base = BL32_BASE,
.image_info.image_max_size = BL32_LIMIT - BL32_BASE, .image_info.image_max_size = BL32_LIMIT - BL32_BASE,
.next_handoff_image_id = BL33_IMAGE_ID, .next_handoff_image_id = BL33_IMAGE_ID,
}, },
/* /*
* Fill BL32 external 1 related information. * Fill BL32 external 1 related information.
* A typical use for extra1 image is with OP-TEE where it is the pager image. * A typical use for extra1 image is with OP-TEE where it is the pager
* image.
*/ */
{ {
.image_id = BL32_EXTRA1_IMAGE_ID, .image_id = BL32_EXTRA1_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP, SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
VERSION_2, entry_point_info_t, SECURE | NON_EXECUTABLE), VERSION_2, entry_point_info_t, SECURE | NON_EXECUTABLE),
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING), VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING),
.image_info.image_base = BL32_BASE, .image_info.image_base = BL32_BASE,
.image_info.image_max_size = BL32_LIMIT - BL32_BASE, .image_info.image_max_size = BL32_LIMIT - BL32_BASE,
.next_handoff_image_id = INVALID_IMAGE_ID, .next_handoff_image_id = INVALID_IMAGE_ID,
}, },
/* /*
* Fill BL32 external 2 related information. * Fill BL32 external 2 related information.
* A typical use for extra2 image is with OP-TEE where it is the paged image. * A typical use for extra2 image is with OP-TEE where it is the paged
* image.
*/ */
{ {
.image_id = BL32_EXTRA2_IMAGE_ID, .image_id = BL32_EXTRA2_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP, SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
VERSION_2, entry_point_info_t, SECURE | NON_EXECUTABLE), VERSION_2, entry_point_info_t, SECURE | NON_EXECUTABLE),
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING), VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING),
#ifdef SPD_opteed #ifdef SPD_opteed
.image_info.image_base = HIKEY960_OPTEE_PAGEABLE_LOAD_BASE, .image_info.image_base = HIKEY960_OPTEE_PAGEABLE_LOAD_BASE,
.image_info.image_max_size = HIKEY960_OPTEE_PAGEABLE_LOAD_SIZE, .image_info.image_max_size = HIKEY960_OPTEE_PAGEABLE_LOAD_SIZE,
#endif #endif
.next_handoff_image_id = INVALID_IMAGE_ID, .next_handoff_image_id = INVALID_IMAGE_ID,
}, },
# endif /* BL32_BASE */ # endif /* BL32_BASE */
/* Fill BL33 related information */ /* Fill BL33 related information */
{ {
.image_id = BL33_IMAGE_ID, .image_id = BL33_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP, SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
VERSION_2, entry_point_info_t, NON_SECURE | EXECUTABLE), VERSION_2, entry_point_info_t, NON_SECURE | EXECUTABLE),
# ifdef PRELOADED_BL33_BASE # ifdef PRELOADED_BL33_BASE
.ep_info.pc = PRELOADED_BL33_BASE, .ep_info.pc = PRELOADED_BL33_BASE,
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING), VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING),
# else # else
.ep_info.pc = NS_BL1U_BASE, .ep_info.pc = NS_BL1U_BASE,
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, 0), VERSION_2, image_info_t, 0),
.image_info.image_base = NS_BL1U_BASE, .image_info.image_base = NS_BL1U_BASE,
.image_info.image_max_size = 0x200000 /* 2MB */, .image_info.image_max_size = 0x200000 /* 2MB */,
# endif /* PRELOADED_BL33_BASE */ # endif /* PRELOADED_BL33_BASE */
.next_handoff_image_id = INVALID_IMAGE_ID, .next_handoff_image_id = INVALID_IMAGE_ID,
} }
#endif /* EL3_PAYLOAD_BASE */ #endif /* EL3_PAYLOAD_BASE */
}; };

View file

@ -22,143 +22,145 @@ static bl_mem_params_node_t bl2_mem_params_descs[] = {
#ifdef SCP_BL2_BASE #ifdef SCP_BL2_BASE
/* Fill SCP_BL2 related information if it exists */ /* Fill SCP_BL2 related information if it exists */
{ {
.image_id = SCP_BL2_IMAGE_ID, .image_id = SCP_BL2_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_IMAGE_BINARY, SET_STATIC_PARAM_HEAD(ep_info, PARAM_IMAGE_BINARY,
VERSION_2, entry_point_info_t, SECURE | NON_EXECUTABLE), VERSION_2, entry_point_info_t, SECURE | NON_EXECUTABLE),
SET_STATIC_PARAM_HEAD(image_info, PARAM_IMAGE_BINARY, SET_STATIC_PARAM_HEAD(image_info, PARAM_IMAGE_BINARY,
VERSION_2, image_info_t, 0), VERSION_2, image_info_t, 0),
.image_info.image_base = SCP_BL2_BASE, .image_info.image_base = SCP_BL2_BASE,
.image_info.image_max_size = SCP_BL2_SIZE, .image_info.image_max_size = SCP_BL2_SIZE,
.next_handoff_image_id = INVALID_IMAGE_ID, .next_handoff_image_id = INVALID_IMAGE_ID,
}, },
#endif /* SCP_BL2_BASE */ #endif /* SCP_BL2_BASE */
#ifdef EL3_PAYLOAD_BASE #ifdef EL3_PAYLOAD_BASE
/* Fill EL3 payload related information (BL31 is EL3 payload)*/ /* Fill EL3 payload related information (BL31 is EL3 payload)*/
{ {
.image_id = BL31_IMAGE_ID, .image_id = BL31_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP, SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
VERSION_2, entry_point_info_t, VERSION_2, entry_point_info_t,
SECURE | EXECUTABLE | EP_FIRST_EXE), SECURE | EXECUTABLE | EP_FIRST_EXE),
.ep_info.pc = EL3_PAYLOAD_BASE, .ep_info.pc = EL3_PAYLOAD_BASE,
.ep_info.spsr = SPSR_64(MODE_EL3, MODE_SP_ELX, .ep_info.spsr = SPSR_64(MODE_EL3, MODE_SP_ELX,
DISABLE_ALL_EXCEPTIONS), DISABLE_ALL_EXCEPTIONS),
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, VERSION_2, image_info_t,
IMAGE_ATTRIB_PLAT_SETUP | IMAGE_ATTRIB_SKIP_LOADING), IMAGE_ATTRIB_PLAT_SETUP | IMAGE_ATTRIB_SKIP_LOADING),
.next_handoff_image_id = INVALID_IMAGE_ID, .next_handoff_image_id = INVALID_IMAGE_ID,
}, },
#else /* EL3_PAYLOAD_BASE */ #else /* EL3_PAYLOAD_BASE */
/* Fill BL31 related information */ /* Fill BL31 related information */
{ {
.image_id = BL31_IMAGE_ID, .image_id = BL31_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP, SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
VERSION_2, entry_point_info_t, VERSION_2, entry_point_info_t,
SECURE | EXECUTABLE | EP_FIRST_EXE), SECURE | EXECUTABLE | EP_FIRST_EXE),
.ep_info.pc = BL31_BASE, .ep_info.pc = BL31_BASE,
.ep_info.spsr = SPSR_64(MODE_EL3, MODE_SP_ELX, .ep_info.spsr = SPSR_64(MODE_EL3, MODE_SP_ELX,
DISABLE_ALL_EXCEPTIONS), DISABLE_ALL_EXCEPTIONS),
#if DEBUG #if DEBUG
.ep_info.args.arg1 = POPLAR_BL31_PLAT_PARAM_VAL, .ep_info.args.arg1 = POPLAR_BL31_PLAT_PARAM_VAL,
#endif #endif
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, IMAGE_ATTRIB_PLAT_SETUP), VERSION_2, image_info_t, IMAGE_ATTRIB_PLAT_SETUP),
.image_info.image_base = BL31_BASE, .image_info.image_base = BL31_BASE,
.image_info.image_max_size = BL31_LIMIT - BL31_BASE, .image_info.image_max_size = BL31_LIMIT - BL31_BASE,
# ifdef BL32_BASE # ifdef BL32_BASE
.next_handoff_image_id = BL32_IMAGE_ID, .next_handoff_image_id = BL32_IMAGE_ID,
# else # else
.next_handoff_image_id = BL33_IMAGE_ID, .next_handoff_image_id = BL33_IMAGE_ID,
# endif # endif
}, },
# ifdef BL32_BASE # ifdef BL32_BASE
/* Fill BL32 related information */ /* Fill BL32 related information */
{ {
.image_id = BL32_IMAGE_ID, .image_id = BL32_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP, SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
VERSION_2, entry_point_info_t, SECURE | EXECUTABLE), VERSION_2, entry_point_info_t, SECURE | EXECUTABLE),
.ep_info.pc = BL32_BASE, .ep_info.pc = BL32_BASE,
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, 0), VERSION_2, image_info_t, 0),
.image_info.image_base = BL32_BASE, .image_info.image_base = BL32_BASE,
.image_info.image_max_size = BL32_LIMIT - BL32_BASE, .image_info.image_max_size = BL32_LIMIT - BL32_BASE,
.next_handoff_image_id = BL33_IMAGE_ID, .next_handoff_image_id = BL33_IMAGE_ID,
}, },
/* /*
* Fill BL32 external 1 related information. * Fill BL32 external 1 related information.
* A typical use for extra1 image is with OP-TEE where it is the pager image. * A typical use for extra1 image is with OP-TEE where it is the pager
* image.
*/ */
{ {
.image_id = BL32_EXTRA1_IMAGE_ID, .image_id = BL32_EXTRA1_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP, SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
VERSION_2, entry_point_info_t, SECURE | NON_EXECUTABLE), VERSION_2, entry_point_info_t, SECURE | NON_EXECUTABLE),
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING), VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING),
.image_info.image_base = BL32_BASE, .image_info.image_base = BL32_BASE,
.image_info.image_max_size = BL32_LIMIT - BL32_BASE, .image_info.image_max_size = BL32_LIMIT - BL32_BASE,
.next_handoff_image_id = INVALID_IMAGE_ID, .next_handoff_image_id = INVALID_IMAGE_ID,
}, },
/* /*
* Fill BL32 external 2 related information. * Fill BL32 external 2 related information.
* A typical use for extra2 image is with OP-TEE where it is the paged image. * A typical use for extra2 image is with OP-TEE where it is the paged
* image.
*/ */
{ {
.image_id = BL32_EXTRA2_IMAGE_ID, .image_id = BL32_EXTRA2_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP, SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
VERSION_2, entry_point_info_t, SECURE | NON_EXECUTABLE), VERSION_2, entry_point_info_t, SECURE | NON_EXECUTABLE),
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING), VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING),
#ifdef SPD_opteed #ifdef SPD_opteed
.image_info.image_base = POPLAR_OPTEE_PAGEABLE_LOAD_BASE, .image_info.image_base = POPLAR_OPTEE_PAGEABLE_LOAD_BASE,
.image_info.image_max_size = POPLAR_OPTEE_PAGEABLE_LOAD_SIZE, .image_info.image_max_size = POPLAR_OPTEE_PAGEABLE_LOAD_SIZE,
#endif #endif
.next_handoff_image_id = INVALID_IMAGE_ID, .next_handoff_image_id = INVALID_IMAGE_ID,
}, },
# endif /* BL32_BASE */ # endif /* BL32_BASE */
/* Fill BL33 related information */ /* Fill BL33 related information */
{ {
.image_id = BL33_IMAGE_ID, .image_id = BL33_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP, SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
VERSION_2, entry_point_info_t, NON_SECURE | EXECUTABLE), VERSION_2, entry_point_info_t, NON_SECURE | EXECUTABLE),
# ifdef PRELOADED_BL33_BASE # ifdef PRELOADED_BL33_BASE
.ep_info.pc = PRELOADED_BL33_BASE, .ep_info.pc = PRELOADED_BL33_BASE,
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING), VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING),
# else # else
.ep_info.pc = PLAT_POPLAR_NS_IMAGE_OFFSET, .ep_info.pc = PLAT_POPLAR_NS_IMAGE_OFFSET,
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, 0), VERSION_2, image_info_t, 0),
.image_info.image_base = PLAT_POPLAR_NS_IMAGE_OFFSET, .image_info.image_base = PLAT_POPLAR_NS_IMAGE_OFFSET,
.image_info.image_max_size = DDR_BASE + DDR_SIZE - .image_info.image_max_size = DDR_BASE + DDR_SIZE -
PLAT_POPLAR_NS_IMAGE_OFFSET, PLAT_POPLAR_NS_IMAGE_OFFSET,
# endif /* PRELOADED_BL33_BASE */ # endif /* PRELOADED_BL33_BASE */
.next_handoff_image_id = INVALID_IMAGE_ID, .next_handoff_image_id = INVALID_IMAGE_ID,
} }
#endif /* EL3_PAYLOAD_BASE */ #endif /* EL3_PAYLOAD_BASE */
}; };

View file

@ -22,58 +22,58 @@ static bl_mem_params_node_t bl2_mem_params_descs[] = {
#ifdef SCP_BL2_BASE #ifdef SCP_BL2_BASE
/* Fill SCP_BL2 related information if it exists */ /* Fill SCP_BL2 related information if it exists */
{ {
.image_id = SCP_BL2_IMAGE_ID, .image_id = SCP_BL2_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_IMAGE_BINARY, SET_STATIC_PARAM_HEAD(ep_info, PARAM_IMAGE_BINARY,
VERSION_2, entry_point_info_t, SECURE | NON_EXECUTABLE), VERSION_2, entry_point_info_t, SECURE | NON_EXECUTABLE),
SET_STATIC_PARAM_HEAD(image_info, PARAM_IMAGE_BINARY, SET_STATIC_PARAM_HEAD(image_info, PARAM_IMAGE_BINARY,
VERSION_2, image_info_t, 0), VERSION_2, image_info_t, 0),
.image_info.image_base = SCP_BL2_BASE, .image_info.image_base = SCP_BL2_BASE,
.image_info.image_max_size = SCP_BL2_SIZE, .image_info.image_max_size = SCP_BL2_SIZE,
.next_handoff_image_id = INVALID_IMAGE_ID, .next_handoff_image_id = INVALID_IMAGE_ID,
}, },
#endif /* SCP_BL2_BASE */ #endif /* SCP_BL2_BASE */
#ifdef EL3_PAYLOAD_BASE #ifdef EL3_PAYLOAD_BASE
/* Fill EL3 payload related information (BL31 is EL3 payload)*/ /* Fill EL3 payload related information (BL31 is EL3 payload)*/
{ {
.image_id = BL31_IMAGE_ID, .image_id = BL31_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP, SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
VERSION_2, entry_point_info_t, VERSION_2, entry_point_info_t,
SECURE | EXECUTABLE | EP_FIRST_EXE), SECURE | EXECUTABLE | EP_FIRST_EXE),
.ep_info.pc = EL3_PAYLOAD_BASE, .ep_info.pc = EL3_PAYLOAD_BASE,
.ep_info.spsr = SPSR_64(MODE_EL3, MODE_SP_ELX, .ep_info.spsr = SPSR_64(MODE_EL3, MODE_SP_ELX,
DISABLE_ALL_EXCEPTIONS), DISABLE_ALL_EXCEPTIONS),
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, VERSION_2, image_info_t,
IMAGE_ATTRIB_PLAT_SETUP | IMAGE_ATTRIB_SKIP_LOADING), IMAGE_ATTRIB_PLAT_SETUP | IMAGE_ATTRIB_SKIP_LOADING),
.next_handoff_image_id = INVALID_IMAGE_ID, .next_handoff_image_id = INVALID_IMAGE_ID,
}, },
#else /* EL3_PAYLOAD_BASE */ #else /* EL3_PAYLOAD_BASE */
/* Fill BL31 related information */ /* Fill BL31 related information */
{ {
.image_id = BL31_IMAGE_ID, .image_id = BL31_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP, SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
VERSION_2, entry_point_info_t, VERSION_2, entry_point_info_t,
SECURE | EXECUTABLE | EP_FIRST_EXE), SECURE | EXECUTABLE | EP_FIRST_EXE),
.ep_info.pc = BL31_BASE, .ep_info.pc = BL31_BASE,
.ep_info.spsr = SPSR_64(MODE_EL3, MODE_SP_ELX, .ep_info.spsr = SPSR_64(MODE_EL3, MODE_SP_ELX,
DISABLE_ALL_EXCEPTIONS), DISABLE_ALL_EXCEPTIONS),
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, IMAGE_ATTRIB_PLAT_SETUP), VERSION_2, image_info_t, IMAGE_ATTRIB_PLAT_SETUP),
.image_info.image_base = BL31_BASE, .image_info.image_base = BL31_BASE,
.image_info.image_max_size = BL31_LIMIT - BL31_BASE, .image_info.image_max_size = BL31_LIMIT - BL31_BASE,
.next_handoff_image_id = BL33_IMAGE_ID, .next_handoff_image_id = BL33_IMAGE_ID,
}, },
#endif /* EL3_PAYLOAD_BASE */ #endif /* EL3_PAYLOAD_BASE */

View file

@ -22,84 +22,84 @@
static bl_mem_params_node_t bl2_mem_params_descs[] = { static bl_mem_params_node_t bl2_mem_params_descs[] = {
#ifdef SCP_BL2_BASE #ifdef SCP_BL2_BASE
/* Fill SCP_BL2 related information if it exists */ /* Fill SCP_BL2 related information if it exists */
{ {
.image_id = SCP_BL2_IMAGE_ID, .image_id = SCP_BL2_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_IMAGE_BINARY, SET_STATIC_PARAM_HEAD(ep_info, PARAM_IMAGE_BINARY,
VERSION_2, entry_point_info_t, SECURE | NON_EXECUTABLE), VERSION_2, entry_point_info_t, SECURE | NON_EXECUTABLE),
SET_STATIC_PARAM_HEAD(image_info, PARAM_IMAGE_BINARY, SET_STATIC_PARAM_HEAD(image_info, PARAM_IMAGE_BINARY,
VERSION_2, image_info_t, 0), VERSION_2, image_info_t, 0),
.image_info.image_base = SCP_BL2_BASE, .image_info.image_base = SCP_BL2_BASE,
.image_info.image_max_size = SCP_BL2_SIZE, .image_info.image_max_size = SCP_BL2_SIZE,
.next_handoff_image_id = INVALID_IMAGE_ID, .next_handoff_image_id = INVALID_IMAGE_ID,
}, },
#endif /* SCP_BL2_BASE */ #endif /* SCP_BL2_BASE */
#ifdef EL3_PAYLOAD_BASE #ifdef EL3_PAYLOAD_BASE
/* Fill EL3 payload related information (BL31 is EL3 payload)*/ /* Fill EL3 payload related information (BL31 is EL3 payload)*/
{ {
.image_id = BL31_IMAGE_ID, .image_id = BL31_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP, SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
VERSION_2, entry_point_info_t, VERSION_2, entry_point_info_t,
SECURE | EXECUTABLE | EP_FIRST_EXE), SECURE | EXECUTABLE | EP_FIRST_EXE),
.ep_info.pc = EL3_PAYLOAD_BASE, .ep_info.pc = EL3_PAYLOAD_BASE,
.ep_info.spsr = SPSR_64(MODE_EL3, MODE_SP_ELX, .ep_info.spsr = SPSR_64(MODE_EL3, MODE_SP_ELX,
DISABLE_ALL_EXCEPTIONS), DISABLE_ALL_EXCEPTIONS),
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, VERSION_2, image_info_t,
IMAGE_ATTRIB_PLAT_SETUP | IMAGE_ATTRIB_SKIP_LOADING), IMAGE_ATTRIB_PLAT_SETUP | IMAGE_ATTRIB_SKIP_LOADING),
.next_handoff_image_id = INVALID_IMAGE_ID, .next_handoff_image_id = INVALID_IMAGE_ID,
}, },
#else /* EL3_PAYLOAD_BASE */ #else /* EL3_PAYLOAD_BASE */
/* Fill BL31 related information */ /* Fill BL31 related information */
{ {
.image_id = BL31_IMAGE_ID, .image_id = BL31_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP, SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
VERSION_2, entry_point_info_t, VERSION_2, entry_point_info_t,
SECURE | EXECUTABLE | EP_FIRST_EXE), SECURE | EXECUTABLE | EP_FIRST_EXE),
.ep_info.pc = BL31_BASE, .ep_info.pc = BL31_BASE,
.ep_info.spsr = SPSR_64(MODE_EL3, MODE_SP_ELX, .ep_info.spsr = SPSR_64(MODE_EL3, MODE_SP_ELX,
DISABLE_ALL_EXCEPTIONS), DISABLE_ALL_EXCEPTIONS),
#if DEBUG #if DEBUG
.ep_info.args.arg3 = MARVELL_BL31_PLAT_PARAM_VAL, .ep_info.args.arg3 = MARVELL_BL31_PLAT_PARAM_VAL,
#endif #endif
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, IMAGE_ATTRIB_PLAT_SETUP), VERSION_2, image_info_t, IMAGE_ATTRIB_PLAT_SETUP),
.image_info.image_base = BL31_BASE, .image_info.image_base = BL31_BASE,
.image_info.image_max_size = BL31_LIMIT - BL31_BASE, .image_info.image_max_size = BL31_LIMIT - BL31_BASE,
# ifdef BL32_BASE # ifdef BL32_BASE
.next_handoff_image_id = BL32_IMAGE_ID, .next_handoff_image_id = BL32_IMAGE_ID,
# else # else
.next_handoff_image_id = BL33_IMAGE_ID, .next_handoff_image_id = BL33_IMAGE_ID,
# endif # endif
}, },
# ifdef BL32_BASE # ifdef BL32_BASE
/* Fill BL32 related information */ /* Fill BL32 related information */
{ {
.image_id = BL32_IMAGE_ID, .image_id = BL32_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP, SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
VERSION_2, entry_point_info_t, SECURE | EXECUTABLE), VERSION_2, entry_point_info_t, SECURE | EXECUTABLE),
.ep_info.pc = BL32_BASE, .ep_info.pc = BL32_BASE,
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, 0), VERSION_2, image_info_t, 0),
.image_info.image_base = BL32_BASE, .image_info.image_base = BL32_BASE,
.image_info.image_max_size = BL32_LIMIT - BL32_BASE, .image_info.image_max_size = BL32_LIMIT - BL32_BASE,
.next_handoff_image_id = BL33_IMAGE_ID, .next_handoff_image_id = BL33_IMAGE_ID,
}, },
/* /*
* Fill BL32 external 1 related information. * Fill BL32 external 1 related information.
@ -107,17 +107,17 @@ static bl_mem_params_node_t bl2_mem_params_descs[] = {
* where it is the pager image. * where it is the pager image.
*/ */
{ {
.image_id = BL32_EXTRA1_IMAGE_ID, .image_id = BL32_EXTRA1_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP, SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
VERSION_2, entry_point_info_t, SECURE | NON_EXECUTABLE), VERSION_2, entry_point_info_t, SECURE | NON_EXECUTABLE),
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING), VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING),
.image_info.image_base = BL32_BASE, .image_info.image_base = BL32_BASE,
.image_info.image_max_size = BL32_LIMIT - BL32_BASE, .image_info.image_max_size = BL32_LIMIT - BL32_BASE,
.next_handoff_image_id = INVALID_IMAGE_ID, .next_handoff_image_id = INVALID_IMAGE_ID,
}, },
/* /*
@ -126,42 +126,42 @@ static bl_mem_params_node_t bl2_mem_params_descs[] = {
* where it is the paged image. * where it is the paged image.
*/ */
{ {
.image_id = BL32_EXTRA2_IMAGE_ID, .image_id = BL32_EXTRA2_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP, SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
VERSION_2, entry_point_info_t, SECURE | NON_EXECUTABLE), VERSION_2, entry_point_info_t, SECURE | NON_EXECUTABLE),
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING), VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING),
#ifdef SPD_opteed #ifdef SPD_opteed
.image_info.image_base = MARVELL_OPTEE_PAGEABLE_LOAD_BASE, .image_info.image_base = MARVELL_OPTEE_PAGEABLE_LOAD_BASE,
.image_info.image_max_size = MARVELL_OPTEE_PAGEABLE_LOAD_SIZE, .image_info.image_max_size = MARVELL_OPTEE_PAGEABLE_LOAD_SIZE,
#endif #endif
.next_handoff_image_id = INVALID_IMAGE_ID, .next_handoff_image_id = INVALID_IMAGE_ID,
}, },
# endif /* BL32_BASE */ # endif /* BL32_BASE */
/* Fill BL33 related information */ /* Fill BL33 related information */
{ {
.image_id = BL33_IMAGE_ID, .image_id = BL33_IMAGE_ID,
SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP, SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
VERSION_2, entry_point_info_t, NON_SECURE | EXECUTABLE), VERSION_2, entry_point_info_t, NON_SECURE | EXECUTABLE),
# ifdef PRELOADED_BL33_BASE # ifdef PRELOADED_BL33_BASE
.ep_info.pc = PRELOADED_BL33_BASE, .ep_info.pc = PRELOADED_BL33_BASE,
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING), VERSION_2, image_info_t, IMAGE_ATTRIB_SKIP_LOADING),
# else # else
.ep_info.pc = MARVELL_DRAM_BASE, .ep_info.pc = MARVELL_DRAM_BASE,
SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
VERSION_2, image_info_t, 0), VERSION_2, image_info_t, 0),
.image_info.image_base = MARVELL_DRAM_BASE, .image_info.image_base = MARVELL_DRAM_BASE,
.image_info.image_max_size = MARVELL_DRAM_SIZE, .image_info.image_max_size = MARVELL_DRAM_SIZE,
# endif /* PRELOADED_BL33_BASE */ # endif /* PRELOADED_BL33_BASE */
.next_handoff_image_id = INVALID_IMAGE_ID, .next_handoff_image_id = INVALID_IMAGE_ID,
} }
#endif /* EL3_PAYLOAD_BASE */ #endif /* EL3_PAYLOAD_BASE */
}; };