Merge pull request #1300 from davidcunado-arm/ak/fix_args

Dynamic cfg: Do not populate args if already initialized
This commit is contained in:
davidcunado-arm 2018-03-05 12:35:32 +00:00 committed by GitHub
commit f918bca3b7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 14 additions and 5 deletions

View File

@ -239,14 +239,23 @@ void populate_next_bl_params_config(bl_params_t *bl2_to_next_bl_params)
/*
* Pass hw and tb_fw config addresses to next images. NOTE - for
* EL3 runtime images (BL31 for AArch64 and BL32 for AArch32),
* arg0 is already used by generic code.
* arg0 is already used by generic code. Take care of not
* overwriting the previous initialisations.
*/
if (params_node == bl2_to_next_bl_params->head) {
params_node->ep_info->args.arg1 = fw_config_base;
params_node->ep_info->args.arg2 = hw_config_base;
if (params_node->ep_info->args.arg1 == 0)
params_node->ep_info->args.arg1 =
fw_config_base;
if (params_node->ep_info->args.arg2 == 0)
params_node->ep_info->args.arg2 =
hw_config_base;
} else {
params_node->ep_info->args.arg0 = fw_config_base;
params_node->ep_info->args.arg1 = hw_config_base;
if (params_node->ep_info->args.arg0 == 0)
params_node->ep_info->args.arg0 =
fw_config_base;
if (params_node->ep_info->args.arg1 == 0)
params_node->ep_info->args.arg1 =
hw_config_base;
}
}
}