Add image_id to bl1_plat_handle_post/pre_image_load()
This patch adds an argument to bl1_plat_post/pre_image_load() APIs
to make it more future proof. The default implementation of
these are moved to `plat_bl1_common.c` file.
These APIs are now invoked appropriately in the FWU code path prior
to or post image loading by BL1 and are not restricted
to LOAD_IMAGE_V2.
The patch also reorganizes some common platform files. The previous
`plat_bl2_el3_common.c` and `platform_helpers_default.c` files are
merged into a new `plat_bl_common.c` file.
NOTE: The addition of an argument to the above mentioned platform APIs
is not expected to have a great impact because these APIs were only
recently added and are unlikely to be used.
Change-Id: I0519caaee0f774dd33638ff63a2e597ea178c453
Signed-off-by: Soby Mathew <soby.mathew@arm.com>
diff --git a/plat/common/plat_bl1_common.c b/plat/common/plat_bl1_common.c
index b92cf54..cee34ae 100644
--- a/plat/common/plat_bl1_common.c
+++ b/plat/common/plat_bl1_common.c
@@ -9,6 +9,7 @@
#include <bl_common.h>
#include <debug.h>
#include <errno.h>
+#include <platform.h>
#include <platform_def.h>
/*
@@ -21,6 +22,8 @@
#pragma weak bl1_plat_set_ep_info
#pragma weak bl1_plat_get_image_desc
#pragma weak bl1_plat_fwu_done
+#pragma weak bl1_plat_handle_pre_image_load
+#pragma weak bl1_plat_handle_post_image_load
unsigned int bl1_plat_get_next_image_id(void)
@@ -35,6 +38,16 @@
}
+int bl1_plat_handle_pre_image_load(unsigned int image_id)
+{
+ return 0;
+}
+
+int bl1_plat_handle_post_image_load(unsigned int image_id)
+{
+ return 0;
+}
+
/*
* Following is the default definition that always
* returns BL2 image details.
diff --git a/plat/common/plat_bl2_el3_common.c b/plat/common/plat_bl2_el3_common.c
deleted file mode 100644
index 358a02d..0000000
--- a/plat/common/plat_bl2_el3_common.c
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright (c) 2017, ARM Limited and Contributors. All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-#include <arch_helpers.h>
-#include <assert.h>
-#include <bl_common.h>
-#include <debug.h>
-#include <errno.h>
-#include <platform_def.h>
-
-/*
- * The following platform functions are weakly defined. They
- * are default implementations that allow BL2 to compile in
- * absence of real definitions. The Platforms may override
- * with more complex definitions.
- */
-#pragma weak bl2_el3_plat_prepare_exit
-
-void bl2_el3_plat_prepare_exit(void)
-{
-}
diff --git a/plat/common/platform_helpers_default.c b/plat/common/plat_bl_common.c
similarity index 61%
rename from plat/common/platform_helpers_default.c
rename to plat/common/plat_bl_common.c
index ce1a731..4123df3 100644
--- a/plat/common/platform_helpers_default.c
+++ b/plat/common/plat_bl_common.c
@@ -1,40 +1,36 @@
/*
- * Copyright (c) 2013-2018, ARM Limited and Contributors. All rights reserved.
+ * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#include <arch_helpers.h>
-#include <platform.h>
+#include <assert.h>
+#include <bl_common.h>
+#include <debug.h>
+#include <errno.h>
/*
- * Placeholder functions which can be redefined by each platfrom.
+ * The following platform functions are weakly defined. The Platforms
+ * may redefine with strong definition.
*/
-
+#pragma weak bl2_el3_plat_prepare_exit
#pragma weak plat_error_handler
-#pragma weak bl1_plat_handle_pre_image_load
-#pragma weak bl1_plat_handle_post_image_load
#pragma weak bl2_plat_preload_setup
#pragma weak bl2_plat_handle_pre_image_load
#pragma weak bl2_plat_handle_post_image_load
#pragma weak plat_try_next_boot_source
+void bl2_el3_plat_prepare_exit(void)
+{
+}
+
void __dead2 plat_error_handler(int err)
{
while (1)
wfi();
}
-int bl1_plat_handle_pre_image_load(void)
-{
- return 0;
-}
-
-int bl1_plat_handle_post_image_load(void)
-{
- return 0;
-}
-
void bl2_plat_preload_setup(void)
{
}