Add platform hooks for boot redundancy support

These hooks are intended to allow one platform to try load
images from alternative places. There is a hook to initialize
the sequence of boot locations and a hook to pass to the next
sequence.

Change-Id: Ia0f84c415208dc4fa4f9d060d58476db23efa5b2
Signed-off-by: Roberto Vargas <roberto.vargas@arm.com>
This commit is contained in:
Roberto Vargas 2017-09-26 12:53:01 +01:00
parent 3b39efa49d
commit 01f62b6d0d
6 changed files with 91 additions and 3 deletions

View file

@ -354,7 +354,13 @@ static int load_auth_image_internal(unsigned int image_id,
******************************************************************************/
int load_auth_image(unsigned int image_id, image_info_t *image_data)
{
return load_auth_image_internal(image_id, image_data, 0);
int err;
do {
err = load_auth_image_internal(image_id, image_data, 0);
} while (err != 0 && plat_try_next_boot_source());
return err;
}
#else /* LOAD_IMAGE_V2 */
@ -553,8 +559,14 @@ int load_auth_image(meminfo_t *mem_layout,
image_info_t *image_data,
entry_point_info_t *entry_point_info)
{
return load_auth_image_internal(mem_layout, image_id, image_base,
image_data, entry_point_info, 0);
int err;
do {
err = load_auth_image_internal(mem_layout, image_id, image_base,
image_data, entry_point_info, 0);
} while (err != 0 && plat_try_next_boot_source());
return err;
}
#endif /* LOAD_IMAGE_V2 */