mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-22 12:34:19 +00:00

Add uml sequence and class diagram to illustrate the behavior of the storage abstraction layer. Change-Id: I338262729f8034cc3d3eea1d0ce19cca973a91bb Signed-off-by: Louis Mayencourt <louis.mayencourt@arm.com>
62 lines
1.6 KiB
Text
62 lines
1.6 KiB
Text
@startuml
|
|
|
|
participant arm_io_storage order 1
|
|
participant io_storage order 2
|
|
|
|
-> 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
|