1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- @startuml
- participant arm_io_storage
- participant io_storage
- -> arm_io_storage : plat_get_image_source(image_id, &dev_handle, &image_spec)
- group init and check device (image_id)
- alt image_id = BL2_IMAGE_ID
- note over arm_io_storage
- get BL2_IMAGE_ID policy:
- - fip_dev_handle
- - open_fip()
- end note
- opt policy->check()
- arm_io_storage -> arm_io_storage : open_fip(spec)
- activate arm_io_storage
- arm_io_storage -> io_storage : io_dev_init(fip_dev_handle, FIP_IMAGE_ID)
- ref over io_storage : dev_init() on fip device
- arm_io_storage -> io_storage : io_open(fip_dev_handle, spec, &local_image_handle)
- ref over io_storage : io_open() on fip device
- arm_io_storage -> io_storage : io_close(local_image_handle)
- ref over io_storage : io_close() on fip device
- hnote over arm_io_storage
- fip_dev_handle ready
- end note
- end opt
- deactivate arm_io_storage
- else image_id = FIP_IMAGE_ID
- activate arm_io_storage
- note over arm_io_storage
- get FIP_IMAGE_ID policy:
- - memmap_dev_handle
- - open_memmap()
- end note
- opt policy->check()
- arm_io_storage -> arm_io_storage : open_memmap(spec)
- activate arm_io_storage
- arm_io_storage -> io_storage : io_dev_init(memmap_dev_handle, NULL)
- ref over io_storage : dev_init() on memmap device
- arm_io_storage -> io_storage : io_open(memmap_dev_handle, spec, &local_image_handle)
- ref over io_storage : io_open() on memmap device
- arm_io_storage -> io_storage : io_close(local_image_handle)
- ref over io_storage : io_close() on memmap device
- hnote over arm_io_storage
- memmap_dev_handle ready
- end note
- deactivate arm_io_storage
- end opt
- deactivate arm_io_storage
- end alt
- end group
- @enduml
|