summaryrefslogtreecommitdiff
path: root/bl2
diff options
context:
space:
mode:
authorEtienne Carriere <etienne.carriere@linaro.org>2018-02-05 10:42:42 +0100
committerEtienne Carriere <etienne.carriere@linaro.org>2018-02-05 10:42:42 +0100
commit10c669585456bc9122bb86c1710e80599f5eae89 (patch)
treeb93f6173cdaa7fb9e16b442701fc0efe748d8452 /bl2
parent3fe81dcf5db35bd6afe8dd9f6b9ebdd06e9f1369 (diff)
aarch32: optee: define the OP-TEE secure payload
AArch32 only platforms can boot the OP-TEE secure firmware as a BL32 secure payload. Such configuration can be defined through AARCH32_SP=optee. The source files can rely on AARCH32_SP_OPTEE to condition OP-TEE boot specific instruction sequences. OP-TEE does not expect ARM Trusted Firmware formatted structure as boot argument. Load sequence is expected to have already loaded to OP-TEE boot arguments into the bl32 entrypoint info structure. Last, AArch32 platform can only boot AArch32 OP-TEE images. Change-Id: Ic28eec5004315fc9111051add6bb1a1d607fc815 Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Diffstat (limited to 'bl2')
-rw-r--r--bl2/bl2_image_load_v2.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/bl2/bl2_image_load_v2.c b/bl2/bl2_image_load_v2.c
index 6517703d..198b65e4 100644
--- a/bl2/bl2_image_load_v2.c
+++ b/bl2/bl2_image_load_v2.c
@@ -87,8 +87,10 @@ entry_point_info_t *bl2_load_images(void)
assert(bl2_to_next_bl_params->h.version >= VERSION_2);
assert(bl2_to_next_bl_params->head->ep_info);
- /* Populate arg0 for the next BL image */
- bl2_to_next_bl_params->head->ep_info->args.arg0 = (u_register_t)bl2_to_next_bl_params;
+ /* Populate arg0 for the next BL image if not already provided */
+ if (bl2_to_next_bl_params->head->ep_info->args.arg0 == 0)
+ bl2_to_next_bl_params->head->ep_info->args.arg0 =
+ (u_register_t)bl2_to_next_bl_params;
/* Flush the parameters to be passed to next image */
plat_flush_next_bl_params();