mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-23 04:48:14 +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>
52 lines
1.3 KiB
Text
52 lines
1.3 KiB
Text
@startuml
|
|
|
|
participant arm_io_storage order 1
|
|
participant io_storage order 2
|
|
participant io_fip order 3
|
|
participant io_memmap order 4
|
|
|
|
-> arm_io_storage : arm_io_setup()
|
|
|
|
group io dev registration
|
|
|
|
arm_io_storage -> io_fip : register_io_dev_fip(&fip_dev_con)
|
|
io_fip -> io_storage : io_register_device(&dev_info_pool[])
|
|
note over io_storage
|
|
devices[dev_count] = (fip_)dev_info_pool
|
|
dev_count++
|
|
end note
|
|
|
|
arm_io_storage -> io_memmap : register_io_dev_memmap(&memmap_dev_con)
|
|
io_memmap -> io_storage : io_register_device(&memmap_dev_info)
|
|
note over io_storage
|
|
devices[dev_count] = memmap_dev_info
|
|
dev_count++
|
|
end note
|
|
|
|
arm_io_storage -> io_storage : io_dev_open(fip_dev_con, NULL, fip_dev_handle)
|
|
io_storage -> io_storage : dev_open(dev_con, dev_spec, handle)
|
|
activate io_storage
|
|
opt dev_open() on fip device
|
|
io_storage -> io_fip : fip_dev_open(dev_spec, dev_info)
|
|
note over io_fip
|
|
dev_info = one of the
|
|
"fip_dev_info" from
|
|
dev_info_pool[]
|
|
end note
|
|
end opt
|
|
deactivate io_storage
|
|
|
|
|
|
arm_io_storage -> io_storage : io_dev_open(memmap_dev_con, NULL, memmap_dev_handle)
|
|
io_storage -> io_storage : dev_open(dev_con, dev_spec, handle)
|
|
activate io_storage
|
|
opt dev_open() on memmap device
|
|
io_storage -> io_memmap : memmap_dev_open(dev_spec, dev_info)
|
|
note over io_memmap
|
|
dev_info = memmap_dev_info
|
|
end note
|
|
end opt
|
|
deactivate io_storage
|
|
|
|
end group
|
|
@enduml
|