blob: b46cc01ec5016eef40b4fd750383c0ca81e401c6 [file] [log] [blame]
'-------------------------------------------------------------------------------
' Copyright (c) 2020-2021, Arm Limited and Contributors. All rights reserved.
'
' SPDX-License-Identifier: BSD-3-Clause
'
'-------------------------------------------------------------------------------
@startuml
class ffa_internal_api {
.. SVC call ..
+ ffa_svc()
}
package "FF-A layer" {
class ffa_api {
.. Setup and discovery interfaces ..
+ ffa_version()
+ ffa_features()
+ ffa_rx_release()
+ ffa_rxtx_map()
+ ffa_rxtx_unmap()
+ ffa_partition_info_get()
+ ffa_id_get()
.. CPU cycle management interfaces ..
+ ffa_msg_wait()
.. Messaging interfaces ..
+ ffa_msg_send_direct_req()
+ ffa_msg_send_direct_resp()
.. Memory management interfaces ..
+ ffa_mem_donate()
+ ffa_mem_donate_rxtx()
+ ffa_mem_lend()
+ ffa_mem_lend_rxtx()
+ ffa_mem_share()
+ ffa_mem_share_rxtx()
+ ffa_mem_retrieve_req()
+ ffa_mem_retrieve_req_rxtx()
+ ffa_mem_relinquish()
+ ffa_mem_reclaim()
.. Interrupt handler definition ..
+ ffa_interrupt_handler()
}
class ffa_memory_descriptors {
.. Transaction buffer handling ..
+ ffa_init_mem_transaction_buffer()
.. Transaction descriptor ..
+ ffa_init_mem_transaction_desc()
+ ffa_get_mem_transaction_desc()
.. Memory access descriptor ..
+ ffa_reserve_mem_access_desc()
+ ffa_add_mem_access_desc()
+ ffa_get_mem_access_desc_count()
+ ffa_get_mem_access_desc()
.. Memory region ..
+ ffa_add_memory_region()
+ ffa_get_memory_region()
}
}
package "SP layer" {
class sp_rxtx {
.. RXTX buffer handling ..
+ sp_rxtx_buffer_map()
+ sp_rxtx_buffer_unmap()
+ sp_rxtx_buffer_alignment_boundary_get()
+ sp_rxtx_buffer_rx_get()
+ sp_rxtx_buffer_tx_get()
}
class sp_memory_management {
.. Donate ..
+ sp_memory_donate()
+ sp_memory_donate_dynamic()
+ sp_memory_donate_dynamic_is_supported()
.. Lend ..
+ sp_memory_lend()
+ sp_memory_lend_dynamic()
+ sp_memory_lend_dynamic_is_supported()
.. Share ..
+ sp_memory_share()
+ sp_memory_share_dynamic()
+ sp_memory_share_dynamic_is_supported()
.. Retrieve ..
+ sp_memory_retrieve()
+ sp_memory_retrieve_dynamic()
+ sp_memory_retrieve_dynamic_is_supported()
.. Relinquish ..
+ sp_memory_relinquish()
.. Reclaim ..
+ sp_memory_reclaim()
}
}
ffa_api -left-> ffa_internal_api
ffa_api -[hidden]-> ffa_memory_descriptors
sp_rxtx -left-> ffa_api
sp_memory_management --> ffa_api
sp_memory_management -left-> ffa_memory_descriptors
sp_memory_management -up-> sp_rxtx
@enduml