diff options
author | davidcunado-arm <david.cunado@arm.com> | 2018-03-05 12:35:32 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-03-05 12:35:32 +0000 |
commit | f918bca3b7cbbb67e4e165c17591dd627804a777 (patch) | |
tree | bfa4ad1733b1eeffddd44b4d1dd07e0e5633114d | |
parent | eb4ff4c10e970b86fd4129a474fa9762136b6127 (diff) | |
parent | 1cc99de889f43e913b22c2422ff4a10f45adde37 (diff) | |
download | arm-trusted-firmware-1.5-rc1.tar.gz |
Merge pull request #1300 from davidcunado-arm/ak/fix_argsv1.5-rc1
Dynamic cfg: Do not populate args if already initialized
-rw-r--r-- | common/desc_image_load.c | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/common/desc_image_load.c b/common/desc_image_load.c index 0ea247c69..28745d41d 100644 --- a/common/desc_image_load.c +++ b/common/desc_image_load.c @@ -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; } } } |