Make the entry point argument optional in load_image()
authorSandrine Bailleux <sandrine.bailleux@arm.com>
Wed, 28 May 2014 10:31:18 +0000 (11:31 +0100)
committerSandrine Bailleux <sandrine.bailleux@arm.com>
Thu, 5 Jun 2014 13:33:30 +0000 (14:33 +0100)
There are cases where the entry point information is useless to the
caller, e.g. when an image just needs to be loaded in memory but won't
ever be executed.

This patch allows load_image() function to take a NULL pointer as the
entry point argument. In this case, it won't be populated.

Change-Id: Ie9394b054457706c6699926c5e0206e0c3851c56

common/bl_common.c

index 3bc314c6ea1ce68ba4aedc61af09bd65522affc9..4affa76586366f839c4b864ae743ce36b4610bdd 100644 (file)
@@ -175,7 +175,9 @@ unsigned long image_size(const char *image_name)
  * given a name, extents of free memory & whether the image should be loaded at
  * the bottom or top of the free memory. It updates the memory layout if the
  * load is successful. It also updates the image information and the entry point
- * information in the params passed
+ * information in the params passed. The caller might pass a NULL pointer for
+ * the entry point if it is not interested in this information, e.g. because
+ * the image just needs to be loaded in memory but won't ever be executed.
  ******************************************************************************/
 int load_image(meminfo_t *mem_layout,
                         const char *image_name,
@@ -399,7 +401,8 @@ int load_image(meminfo_t *mem_layout,
        image_data->image_base = image_base;
        image_data->image_size = image_size;
 
-       entry_point_info->pc = image_base;
+       if (entry_point_info != NULL)
+               entry_point_info->pc = image_base;
 
        /*
         * File has been successfully loaded. Update the free memory