diff options
author | Sandrine Bailleux <sandrine.bailleux@arm.com> | 2014-06-24 14:19:36 +0100 |
---|---|---|
committer | Sandrine Bailleux <sandrine.bailleux@arm.com> | 2014-07-10 17:06:56 +0100 |
commit | 93d81d64d3947aa7712fab602a16b781a12c78bb (patch) | |
tree | 3c1f7adddeeba110f9ad2fd785fc78902f9d45fa /include/plat/common | |
parent | a1b6db6c62aa500a0f2e3def3b97cda8a59c95e6 (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.h | 35 |
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) ******************************************************************************/ |