summaryrefslogtreecommitdiff
path: root/include/plat/common
diff options
context:
space:
mode:
authorSandrine Bailleux <sandrine.bailleux@arm.com>2014-06-24 14:19:36 +0100
committerSandrine Bailleux <sandrine.bailleux@arm.com>2014-07-10 17:06:56 +0100
commit93d81d64d3947aa7712fab602a16b781a12c78bb (patch)
tree3c1f7adddeeba110f9ad2fd785fc78902f9d45fa /include/plat/common
parenta1b6db6c62aa500a0f2e3def3b97cda8a59c95e6 (diff)
Add support for BL3-0 image
- Add support for loading a BL3-0 image in BL2. Information about memory extents is populated by platform-specific code. Subsequent handling of BL3-0 is also platform specific. The BL2 main function has been broken down to improve readability. The BL3-2 image is now loaded before the BL3-3 image to align with the boot flow. - Build system: Add support for specifying a BL3-0 image that will be included into the FIP image. - IO FIP driver: Add support for identifying a BL3-0 image inside a FIP image. - Update the documentation to reflect the above changes. Change-Id: I067c184afd52ccaa86569f13664757570c86fc48
Diffstat (limited to 'include/plat/common')
-rw-r--r--include/plat/common/platform.h35
1 files changed, 26 insertions, 9 deletions
diff --git a/include/plat/common/platform.h b/include/plat/common/platform.h
index c130ae78..1eeaac27 100644
--- a/include/plat/common/platform.h
+++ b/include/plat/common/platform.h
@@ -120,25 +120,42 @@ struct entry_point_info *bl2_plat_get_bl31_ep_info(void);
void bl2_plat_flush_bl31_params(void);
/*
- * The next 3 functions allow the platform to change the entrypoint
- * information for the 3rd level BL images, after BL2 has loaded the 3rd
- * level BL images into memory but before BL3-1 is executed.
+ * The next 2 functions allow the platform to change the entrypoint information
+ * for the mandatory 3rd level BL images, BL3-1 and BL3-3. This is done after
+ * BL2 has loaded those images into memory but before BL3-1 is executed.
*/
void bl2_plat_set_bl31_ep_info(struct image_info *image,
struct entry_point_info *ep);
-void bl2_plat_set_bl32_ep_info(struct image_info *image,
+void bl2_plat_set_bl33_ep_info(struct image_info *image,
struct entry_point_info *ep);
-void bl2_plat_set_bl33_ep_info(struct image_info *image,
+/* Gets the memory layout for BL3-3 */
+void bl2_plat_get_bl33_meminfo(struct meminfo *mem_info);
+
+/*******************************************************************************
+ * Conditionally mandatory BL2 functions: must be implemented if BL3-0 image
+ * is supported
+ ******************************************************************************/
+/* Gets the memory layout for BL3-0 */
+void bl2_plat_get_bl30_meminfo(struct meminfo *mem_info);
+
+/*
+ * This function is called after loading BL3-0 image and it is used to perform
+ * any platform-specific actions required to handle the SCP firmware.
+ */
+int bl2_plat_handle_bl30(struct image_info *bl30_image_info);
+
+/*******************************************************************************
+ * Conditionally mandatory BL2 functions: must be implemented if BL3-2 image
+ * is supported
+ ******************************************************************************/
+void bl2_plat_set_bl32_ep_info(struct image_info *image,
struct entry_point_info *ep);
-/* Gets the memory layout for BL32 */
+/* Gets the memory layout for BL3-2 */
void bl2_plat_get_bl32_meminfo(struct meminfo *mem_info);
-/* Gets the memory layout for BL33 */
-void bl2_plat_get_bl33_meminfo(struct meminfo *mem_info);
-
/*******************************************************************************
* Optional BL2 functions (may be overridden)
******************************************************************************/