Commit 2783205d authored by Varun Wadekar's avatar Varun Wadekar
Browse files

Tegra: prepare boot parameters for Trusty

This patch saves the boot parameters provided by the previous bootloader
during cold boot and passes them to Trusty. Commit 06ff251e

 introduced
the plat_trusty_set_boot_args() handler, but did not consider the boot
parameters passed by the previous bootloader. This patch fixes that
anomaly.

Change-Id: Ib40dcd02b67c94cea5cefce09edb0be4a998db37
Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
parent e9e19fb2
...@@ -54,8 +54,9 @@ static entry_point_info_t bl33_image_ep_info, bl32_image_ep_info; ...@@ -54,8 +54,9 @@ static entry_point_info_t bl33_image_ep_info, bl32_image_ep_info;
static plat_params_from_bl2_t plat_bl31_params_from_bl2 = { static plat_params_from_bl2_t plat_bl31_params_from_bl2 = {
.tzdram_size = TZDRAM_SIZE .tzdram_size = TZDRAM_SIZE
}; };
static unsigned long bl32_mem_size; #ifdef SPD_trusty
static unsigned long bl32_boot_params; static aapcs64_params_t bl32_args;
#endif
/******************************************************************************* /*******************************************************************************
* This variable holds the non-secure image entry address * This variable holds the non-secure image entry address
...@@ -155,8 +156,10 @@ void bl31_early_platform_setup2(u_register_t arg0, u_register_t arg1, ...@@ -155,8 +156,10 @@ void bl31_early_platform_setup2(u_register_t arg0, u_register_t arg1,
if (arg_from_bl2->bl32_ep_info != NULL) { if (arg_from_bl2->bl32_ep_info != NULL) {
bl32_image_ep_info = *arg_from_bl2->bl32_ep_info; bl32_image_ep_info = *arg_from_bl2->bl32_ep_info;
bl32_mem_size = arg_from_bl2->bl32_ep_info->args.arg0; #ifdef SPD_trusty
bl32_boot_params = arg_from_bl2->bl32_ep_info->args.arg2; /* save BL32 boot parameters */
memcpy(&bl32_args, &arg_from_bl2->bl32_ep_info->args, sizeof(bl32_args));
#endif
} }
/* /*
...@@ -273,17 +276,20 @@ void bl31_early_platform_setup2(u_register_t arg0, u_register_t arg1, ...@@ -273,17 +276,20 @@ void bl31_early_platform_setup2(u_register_t arg0, u_register_t arg1,
#ifdef SPD_trusty #ifdef SPD_trusty
void plat_trusty_set_boot_args(aapcs64_params_t *args) void plat_trusty_set_boot_args(aapcs64_params_t *args)
{ {
args->arg0 = bl32_mem_size; /*
args->arg1 = bl32_boot_params; * arg0 = TZDRAM aperture available for BL32
args->arg2 = TRUSTY_PARAMS_LEN_BYTES; * arg1 = BL32 boot params
* arg2 = EKS Blob Length
* arg3 = Boot Profiler Carveout Base
*/
args->arg0 = bl32_args.arg0;
args->arg1 = bl32_args.arg2;
/* update EKS size */ /* update EKS size */
if (args->arg4 != 0U) { args->arg2 = bl32_args.arg4;
args->arg2 = args->arg4;
}
/* Profiler Carveout Base */ /* Profiler Carveout Base */
args->arg3 = args->arg5; args->arg3 = bl32_args.arg5;
} }
#endif #endif
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment