docs: add FFA_MSG_SEND_DIRECT_REQ2/RESP2 support
Add FFA_MSG_SEND_DIRECT_REQ2/RESP2 to list of supported
interfaces. Also update references to FFA_MSG_SEND_DIRECT_REQ
that also apply to FFA_MSG_SEND_DIRECT_REQ2.
Signed-off-by: Kathleen Capella <kathleen.capella@arm.com>
Change-Id: I72271019381a8eaff1a8ecdb4580f89e984f4d48
diff --git a/docs/secure-partition-manager/secure-partition-manager.rst b/docs/secure-partition-manager/secure-partition-manager.rst
index 317130c..3115f8e 100644
--- a/docs/secure-partition-manager/secure-partition-manager.rst
+++ b/docs/secure-partition-manager/secure-partition-manager.rst
@@ -598,7 +598,7 @@
The FF-A specification `[1]`_ provides two ways to allocate CPU cycles to
secure partitions. For this a VM (Hypervisor or OS kernel), or SP invokes one of:
-- the FFA_MSG_SEND_DIRECT_REQ interface.
+- the FFA_MSG_SEND_DIRECT_REQ (or FFA_MSG_SEND_DIRECT_REQ2) interface.
- the FFA_RUN interface.
Additionally a secure interrupt can pre-empt the normal world execution and give
@@ -647,7 +647,10 @@
- ``FFA_RX_ACQUIRE``
As part of the FF-A v1.2 support, the following interfaces were added:
+
- ``FFA_PARTITION_INFO_GET_REGS``
+- ``FFA_MSG_SEND_DIRECT_REQ2``
+- ``FFA_MSG_SEND_DIRECT_RESP2``
FFA_VERSION
~~~~~~~~~~~
@@ -768,6 +771,15 @@
- An Hypervisor or OS kernel can send a direct request to an SP.
- An SP can send a direct response to an Hypervisor or OS kernel.
+FFA_MSG_SEND_DIRECT_REQ2/FFA_MSG_SEND_DIRECT_RESP2
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The primary usage of these ABIs is to send a direct request to a specified
+UUID within an SP that has multiple UUIDs declared in its manifest.
+
+Secondarily, it can be used to send a direct request with an extended
+set of message payload arguments.
+
FFA_NOTIFICATION_BITMAP_CREATE/FFA_NOTIFICATION_BITMAP_DESTROY
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -1143,7 +1155,8 @@
- RTM_FFA_RUN: runtime model presented to an execution context that is
allocated CPU cycles through FFA_RUN interface.
- RTM_FFA_DIR_REQ: runtime model presented to an execution context that is
- allocated CPU cycles through FFA_MSG_SEND_DIRECT_REQ interface.
+ allocated CPU cycles through FFA_MSG_SEND_DIRECT_REQ or FFA_MSG_SEND_DIRECT_REQ2
+ interface.
- RTM_SEC_INTERRUPT: runtime model presented to an execution context that is
allocated CPU cycles by SPMC to handle a secure interrupt.
- RTM_SP_INIT: runtime model presented to an execution context that is
diff --git a/docs/threat_model_spm.rst b/docs/threat_model_spm.rst
index d0b16da..fffe87c 100644
--- a/docs/threat_model_spm.rst
+++ b/docs/threat_model_spm.rst
@@ -893,10 +893,11 @@
| | SPMC and SPs, potentially leading to illegal state |
| | transitions and deadlocks.** |
| | An endpoint can call into another endpoint |
-| | execution context using FFA_MSG_SEND_DIRECT_REQ |
-| | ABI to create a call chain. A malicious endpoint |
-| | could abuse this to form loops in a call chain that|
-| | could lead to potential deadlocks. |
+| | execution context using FFA_MSG_SEND_DIRECT_REQ (or|
+| | FFA_MSG_SEND_DIRECT_REQ2) ABI to create a call |
+| | chain. A malicious endpoint could abuse this to |
+| | form loops in a call chain that could lead to |
+| | potential deadlocks. |
+------------------------+----------------------------------------------------+
| ``Diagram Elements`` | DF1, DF2, DF4 |
+------------------------+----------------------------------------------------+