diff options
author | Dan Handley <dan.handley@arm.com> | 2017-04-18 14:46:23 +0100 |
---|---|---|
committer | Dan Handley <dan.handley@arm.com> | 2017-04-19 18:05:41 +0100 |
commit | c2a9ee6383b71af2d0dae7b0c578e987bcf35695 (patch) | |
tree | 77d93282183b14f4bf9ed0989a08a22a5394c2be /common/desc_image_load.c | |
parent | 3d21c9452d4d5e17f545848bc4641274cdd6aa26 (diff) |
Minor refactor of BL2 image load v2
Previously, get_next_bl_params_from_mem_params_desc() populated arg0
in the EL3 runtime entrypoint with a bl_params_t pointer. This is the
responsibility of the generic LOAD_IMAGE_V2 framework instead of the
descriptor-based image loading utility functions. Therefore this patch
moves that code to bl2_load_images().
Also, this patch moves the code that flushes the bl_params structure to
flush_bl_params_desc(), together with the other descriptor-based image
loading flushing code.
Change-Id: I4541e3f50e3878dde7cf89e9e8f31fe0b173fb9d
Signed-off-by: Dan Handley <dan.handley@arm.com>
Diffstat (limited to 'common/desc_image_load.c')
-rw-r--r-- | common/desc_image_load.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/common/desc_image_load.c b/common/desc_image_load.c index a9762b71..52ef362b 100644 --- a/common/desc_image_load.c +++ b/common/desc_image_load.c @@ -47,8 +47,11 @@ static bl_params_t next_bl_params; ******************************************************************************/ void flush_bl_params_desc(void) { - flush_dcache_range((unsigned long)bl_mem_params_desc_ptr, + flush_dcache_range((uintptr_t)bl_mem_params_desc_ptr, sizeof(*bl_mem_params_desc_ptr) * bl_mem_params_desc_num); + + flush_dcache_range((uintptr_t)&next_bl_params, + sizeof(next_bl_params)); } /******************************************************************************* @@ -209,12 +212,5 @@ bl_params_t *get_next_bl_params_from_mem_params_desc(void) /* Invalid image is expected to terminate the loop */ assert(img_id == INVALID_IMAGE_ID); - /* Populate arg0 for the next BL image */ - next_bl_params.head->ep_info->args.arg0 = (unsigned long)&next_bl_params; - - /* Flush the parameters to be passed to the next BL image */ - flush_dcache_range((unsigned long)&next_bl_params, - sizeof(next_bl_params)); - return &next_bl_params; } |