Louis Mayencourt | b546900 | 2019-07-15 13:56:03 +0100 | [diff] [blame] | 1 | @startuml |
| 2 | |
Sandrine Bailleux | 03b274c | 2019-10-28 14:02:51 +0100 | [diff] [blame] | 3 | participant bl_common |
| 4 | participant arm_io_storage |
| 5 | participant io_storage |
Louis Mayencourt | b546900 | 2019-07-15 13:56:03 +0100 | [diff] [blame] | 6 | |
| 7 | == Platform Setup == |
| 8 | |
| 9 | bl1_main -> xxx_bl1_setup : bl1_platform_setup() |
| 10 | xxx_bl1_setup -> arm_io_storage : plat_arm_io_setup() |
| 11 | |
| 12 | arm_io_storage -> arm_io_storage : arm_io_setup() |
| 13 | ref over arm_io_storage, io_storage : io device registration |
| 14 | |
| 15 | == Get Image == |
| 16 | bl1_main -> xxx_bl1_setup : bl1_plat_get_next_image_id() |
| 17 | bl1_main <-- xxx_bl1_setup : BL2_IMAGE_ID |
| 18 | |
| 19 | bl1_main -> bl1_main : bl1_load_bl2() |
| 20 | activate bl1_main |
| 21 | bl1_main -> plat_bl1_common : bl1_plat_get_image_desc(BL2_IMAGE_ID) |
| 22 | bl1_main <-- plat_bl1_common : BL2_IMAGE_DESC |
| 23 | |
| 24 | bl1_main -> plat_bl1_common : bl1_plat_handle_pre_image_load(BL2_IMAGE_ID) |
| 25 | |
| 26 | bl1_main -> bl_common : load_auth_image(BL2_IMAGE_ID, image_info) |
| 27 | activate bl_common |
| 28 | bl_common -> bl_common : load_auth_image_internal(BL2_IMAGE_ID, image_info, is_parent_image) |
| 29 | activate bl_common |
| 30 | bl_common -> bl_common : load_image(BL2_IMAGE_ID, image_info) |
| 31 | activate bl_common |
| 32 | bl_common -> arm_io_storage : plat_get_image_source(BL2_IMAGE_ID, &dev_handle, &image_spec) |
| 33 | ref over arm_io_storage, io_storage : init and check device (BL2_IMAGE_ID) |
| 34 | bl_common <-- arm_io_storage : dev_handle |
| 35 | |
| 36 | bl_common -> io_storage : io_open(dev_handle, image_spec, &image_handle) |
| 37 | ref over io_storage : io_open() on fip device |
| 38 | bl_common <-- io_storage : image_handle |
| 39 | bl_common -> io_storage : io_size(image_handle, &image_size) |
| 40 | ref over io_storage : io_size() on fip device |
| 41 | bl_common -> io_storage : io_read(image_handle, image_base, image_size, &bytes_read) |
| 42 | ref over io_storage : io_read() on fip device |
| 43 | bl_common -> io_storage : io_close(image_handle) |
| 44 | ref over io_storage : io_close() on fip device |
| 45 | bl_common -> io_storage : io_dev_close(dev_handle) |
| 46 | ref over io_storage : io_dev_close() on fip device |
| 47 | |
| 48 | deactivate bl_common |
| 49 | deactivate bl_common |
| 50 | deactivate bl_common |
| 51 | |
| 52 | == Prepare Next Image == |
| 53 | bl1_main -> plat_bl1_common : bl1_plat_handle_post_image_load(BL2_IMAGE_ID) |
| 54 | |
| 55 | deactivate bl1_main |
| 56 | |
| 57 | == Jump to next Image == |
| 58 | |
| 59 | @enduml |