Commit 5ddcbdd8 authored by Alexei Fedorov's avatar Alexei Fedorov
Browse files

TF-A: Fix BL2 bug in dynamic configuration initialisation



This patch fixes the bug in BL2 dynamic configuration initialisation
which prevents loading NT_FW_CONFIG image (ref. GENFW-3471).
It also adds parentheses around 'if' statement conditions to fix
Coverity defect.

Change-Id: I353566c29b84341887e13bf8098a4fedfc4e00ff
Signed-off-by: default avatarAlexei Fedorov <Alexei.Fedorov@arm.com>
parent 0d35873c
...@@ -243,7 +243,8 @@ void arm_bl2_dyn_cfg_init(void) ...@@ -243,7 +243,8 @@ void arm_bl2_dyn_cfg_init(void)
#ifdef BL31_BASE #ifdef BL31_BASE
/* Ensure the configs don't overlap with BL31 */ /* Ensure the configs don't overlap with BL31 */
if ((image_base > BL31_BASE) || ((image_base + image_size) > BL31_BASE)) if ((image_base >= BL31_BASE) &&
(image_base <= BL31_LIMIT))
continue; continue;
#endif #endif
/* Ensure the configs are loaded in a valid address */ /* Ensure the configs are loaded in a valid address */
...@@ -254,7 +255,8 @@ void arm_bl2_dyn_cfg_init(void) ...@@ -254,7 +255,8 @@ void arm_bl2_dyn_cfg_init(void)
* If BL32 is present, ensure that the configs don't * If BL32 is present, ensure that the configs don't
* overlap with it. * overlap with it.
*/ */
if (image_base >= BL32_BASE && image_base <= BL32_LIMIT) if ((image_base >= BL32_BASE) &&
(image_base <= BL32_LIMIT))
continue; continue;
#endif #endif
} }
...@@ -263,7 +265,10 @@ void arm_bl2_dyn_cfg_init(void) ...@@ -263,7 +265,10 @@ void arm_bl2_dyn_cfg_init(void)
cfg_mem_params->image_info.image_base = (uintptr_t)image_base; cfg_mem_params->image_info.image_base = (uintptr_t)image_base;
cfg_mem_params->image_info.image_max_size = image_size; cfg_mem_params->image_info.image_max_size = image_size;
/* Remove the IMAGE_ATTRIB_SKIP_LOADING attribute from HW_CONFIG node */ /*
* Remove the IMAGE_ATTRIB_SKIP_LOADING attribute from
* HW_CONFIG or FW_CONFIG nodes
*/
cfg_mem_params->image_info.h.attr &= ~IMAGE_ATTRIB_SKIP_LOADING; cfg_mem_params->image_info.h.attr &= ~IMAGE_ATTRIB_SKIP_LOADING;
} }
......
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