feat(arm): save BL32 image base and size in entry point info

There is no platform function to retrieve the info in the generic code.
Populate the BL32 image base, size and max limit in arg2, arg3 and arg4.

Signed-off-by: Achin Gupta <achin.gupta@arm.com>
Signed-off-by: Nishant Sharma <nishant.sharma@arm.com>
Change-Id: Id41cedd790ca1713787e5516fb84666d1ccb0b03
This commit is contained in:
Nishant Sharma 2023-10-13 11:22:08 +01:00
parent 5a4c3f0baa
commit 821b01fa75

View file

@ -198,6 +198,24 @@ void __init arm_bl31_early_platform_setup(void *from_bl2, uintptr_t soc_fw_confi
while (bl_params != NULL) {
if (bl_params->image_id == BL32_IMAGE_ID) {
bl32_image_ep_info = *bl_params->ep_info;
#if defined(SPMC_AT_EL3)
/*
* Populate the BL32 image base, size and max limit in
* the entry point information, since there is no
* platform function to retrieve them in generic
* code. We choose arg2, arg3 and arg4 since the generic
* code uses arg1 for stashing the SP manifest size. The
* SPMC setup uses these arguments to update SP manifest
* with actual SP's base address and it size.
*/
bl32_image_ep_info.args.arg2 =
bl_params->image_info->image_base;
bl32_image_ep_info.args.arg3 =
bl_params->image_info->image_size;
bl32_image_ep_info.args.arg4 =
bl_params->image_info->image_base +
bl_params->image_info->image_max_size;
#endif
}
#if ENABLE_RME
else if (bl_params->image_id == RMM_IMAGE_ID) {