warp7: mem_params_desc: Add boot entries to mem params array
authorBryan O'Donoghue <bryan.odonoghue@linaro.org>
Mon, 11 Jun 2018 12:39:20 +0000 (13:39 +0100)
committerBryan O'Donoghue <bryan.odonoghue@linaro.org>
Tue, 4 Sep 2018 13:18:31 +0000 (14:18 +0100)
This patch adds entries to the mem params array for

- BL32
- BL32_EXTRA1
- BL32_EXTRA2
- BL33
- HW_CONFIG_ID

BL32 is marked as bootable to indicate that OPTEE is the thing that should
be booted next.

In our model OPTEE chain-loads onto u-boot so only BL32 is bootable.

Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
plat/imx/imx7/warp7/warp7_bl2_mem_params_desc.c

index ed9d525cab4d7d9b3b1ac6bfc40a6c7062652363..12254d46ce536cca4f98963688e890039b9b4789 100644 (file)
 #include <platform_def.h>
 
 static bl_mem_params_node_t bl2_mem_params_descs[] = {
+       {
+               .image_id = BL32_IMAGE_ID,
+
+               SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP, VERSION_2,
+                                     entry_point_info_t,
+                                     SECURE | EXECUTABLE | EP_FIRST_EXE),
+               .ep_info.pc = BL32_BASE,
+
+               SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, VERSION_2,
+                                     image_info_t, 0),
+
+               .image_info.image_base = WARP7_OPTEE_BASE,
+               .image_info.image_max_size = WARP7_OPTEE_SIZE,
+
+               .next_handoff_image_id = BL33_IMAGE_ID,
+       },
+       {
+               .image_id = HW_CONFIG_ID,
+               SET_STATIC_PARAM_HEAD(ep_info, PARAM_IMAGE_BINARY,
+                                     VERSION_2, entry_point_info_t, SECURE | NON_EXECUTABLE),
+               SET_STATIC_PARAM_HEAD(image_info, PARAM_IMAGE_BINARY,
+                                     VERSION_2, image_info_t, 0),
+               .image_info.image_base = WARP7_DTB_BASE,
+               .image_info.image_max_size = WARP7_DTB_SIZE,
+               .next_handoff_image_id = INVALID_IMAGE_ID,
+       },
+       {
+               .image_id = BL32_EXTRA1_IMAGE_ID,
+
+               SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP, VERSION_2,
+                                     entry_point_info_t,
+                                     SECURE | NON_EXECUTABLE),
+
+               SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, VERSION_2,
+                                     image_info_t, IMAGE_ATTRIB_SKIP_LOADING),
+               .image_info.image_base = WARP7_OPTEE_BASE,
+               .image_info.image_max_size = WARP7_OPTEE_SIZE,
+
+               .next_handoff_image_id = INVALID_IMAGE_ID,
+       },
+       {
+               /* This is a zero sized image so we don't set base or size */
+               .image_id = BL32_EXTRA2_IMAGE_ID,
+
+               SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP,
+                                     VERSION_2, entry_point_info_t,
+                                     SECURE | NON_EXECUTABLE),
+
+               SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
+                                     VERSION_2, image_info_t,
+                                     IMAGE_ATTRIB_SKIP_LOADING),
+               .next_handoff_image_id = INVALID_IMAGE_ID,
+       },
+       {
+               .image_id = BL33_IMAGE_ID,
+               SET_STATIC_PARAM_HEAD(ep_info, PARAM_EP, VERSION_2,
+                                     entry_point_info_t,
+                                     NON_SECURE | EXECUTABLE),
+               # ifdef PRELOADED_BL33_BASE
+                       .ep_info.pc = PRELOADED_BL33_BASE,
+
+                       SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
+                                             VERSION_2, image_info_t,
+                                             IMAGE_ATTRIB_SKIP_LOADING),
+               # else
+                       .ep_info.pc = BL33_BASE,
+
+                       SET_STATIC_PARAM_HEAD(image_info, PARAM_EP,
+                                             VERSION_2, image_info_t, 0),
+                       .image_info.image_base = WARP7_UBOOT_BASE,
+                       .image_info.image_max_size = WARP7_UBOOT_SIZE,
+               # endif /* PRELOADED_BL33_BASE */
+
+               .next_handoff_image_id = INVALID_IMAGE_ID,
+       }
 };
 
 REGISTER_BL_IMAGE_DESCS(bl2_mem_params_descs);