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 arm_io_storage |
| 4 | participant io_storage |
Louis Mayencourt | b546900 | 2019-07-15 13:56:03 +0100 | [diff] [blame] | 5 | |
| 6 | -> arm_io_storage : plat_get_image_source(image_id, &dev_handle, &image_spec) |
| 7 | |
| 8 | group init and check device (image_id) |
| 9 | |
| 10 | alt image_id = BL2_IMAGE_ID |
| 11 | note over arm_io_storage |
| 12 | get BL2_IMAGE_ID policy: |
| 13 | - fip_dev_handle |
| 14 | - open_fip() |
| 15 | end note |
| 16 | opt policy->check() |
| 17 | arm_io_storage -> arm_io_storage : open_fip(spec) |
| 18 | activate arm_io_storage |
| 19 | arm_io_storage -> io_storage : io_dev_init(fip_dev_handle, FIP_IMAGE_ID) |
| 20 | ref over io_storage : dev_init() on fip device |
| 21 | |
| 22 | arm_io_storage -> io_storage : io_open(fip_dev_handle, spec, &local_image_handle) |
| 23 | ref over io_storage : io_open() on fip device |
| 24 | |
| 25 | arm_io_storage -> io_storage : io_close(local_image_handle) |
| 26 | ref over io_storage : io_close() on fip device |
| 27 | |
| 28 | hnote over arm_io_storage |
| 29 | fip_dev_handle ready |
| 30 | end note |
| 31 | end opt |
| 32 | deactivate arm_io_storage |
| 33 | |
| 34 | else image_id = FIP_IMAGE_ID |
| 35 | activate arm_io_storage |
| 36 | note over arm_io_storage |
| 37 | get FIP_IMAGE_ID policy: |
| 38 | - memmap_dev_handle |
| 39 | - open_memmap() |
| 40 | end note |
| 41 | opt policy->check() |
| 42 | arm_io_storage -> arm_io_storage : open_memmap(spec) |
| 43 | activate arm_io_storage |
| 44 | arm_io_storage -> io_storage : io_dev_init(memmap_dev_handle, NULL) |
| 45 | ref over io_storage : dev_init() on memmap device |
| 46 | |
| 47 | arm_io_storage -> io_storage : io_open(memmap_dev_handle, spec, &local_image_handle) |
| 48 | ref over io_storage : io_open() on memmap device |
| 49 | |
| 50 | arm_io_storage -> io_storage : io_close(local_image_handle) |
| 51 | ref over io_storage : io_close() on memmap device |
| 52 | |
| 53 | hnote over arm_io_storage |
| 54 | memmap_dev_handle ready |
| 55 | end note |
| 56 | deactivate arm_io_storage |
| 57 | end opt |
| 58 | deactivate arm_io_storage |
| 59 | end alt |
| 60 | |
| 61 | end group |
| 62 | @enduml |