docs/design: Add missing sections for Isolation APIs
Add sections for the following missing functions within the
Isolation API documentation (hardware_abstraction_layer):
- tfm_hal_verify_static_boundaries
- tfm_hal_boundary_need_switch
Also, tidy indentation and provide missing 'Parameters' description
for some functions.
Signed-off-by: Nicola Mazzucato <nicola.mazzucato@arm.com>
Change-Id: I026b90cbc95db448bae19857e3ad1bbf27f0c3de
diff --git a/docs/design_docs/software/hardware_abstraction_layer.rst b/docs/design_docs/software/hardware_abstraction_layer.rst
index be06dd3..e8fbf11 100644
--- a/docs/design_docs/software/hardware_abstraction_layer.rst
+++ b/docs/design_docs/software/hardware_abstraction_layer.rst
@@ -400,6 +400,29 @@
APIs
----
+tfm_hal_verify_static_boundaries()
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+**Prototype**
+
+.. code-block:: c
+
+ fih_int tfm_hal_verify_static_boundaries(void)
+
+**Description**
+
+This API verifies the static isolation boundaries.
+
+Refer to the :term:`PSA-FF-M` for the definitions of the isolation boundaries.
+
+**Parameter**
+
+- ``void`` - None
+
+**Return Values**
+
+- ``TFM_HAL_SUCCESS`` - Verification has been successful.
+- ``TFM_HAL_ERROR_GENERIC`` - Verification failed.
+
tfm_hal_set_up_static_boundaries()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
**Prototype**
@@ -422,6 +445,10 @@
Refer to the :term:`PSA-FF-M` for the definitions of the isolation boundaries.
+**Parameter**
+
+- ``void`` - None
+
**Return Values**
- ``TFM_HAL_SUCCESS`` - Isolation boundaries have been set up.
@@ -475,7 +502,7 @@
- ``p_ldinf`` - The load information of the partition that is going to be run.
- ``boundary`` - The boundary for the owner partition of ``p_ldinf``. This
- value is bound in function ``tfm_hal_bind_boundary``.
+ value is bound in function ``tfm_hal_bind_boundary``.
**Return Values**
@@ -522,6 +549,29 @@
a platform-specific pointer validation needs to be considered before
referencing the content in this pointer.
+tfm_hal_boundary_need_switch()
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+**Prototype**
+
+.. code-block:: c
+
+ bool tfm_hal_boundary_need_switch(uintptr_t boundary_from,
+ uintptr_t boundary_to)
+
+**Description**
+
+This API let the platform decide if a boundary switch is needed.
+
+**Parameter**
+
+- ``boundary_from`` - Boundary to switch from.
+- ``boundary_to`` - Boundary to switch to.
+
+**Return Values**
+
+- ``true`` - A switching is needed
+- ``false`` - No need for a boundary switch
+
Log API
=======
The log API is used by the :term:`TF-M` :doc:`log system </design_docs/tfm_log_system_design_document>`.
@@ -620,7 +670,7 @@
**Return Values**
- ``TFM_HAL_ERROR_INVALID_INPUT`` - the ``irq_num`` exceeds The maximum
- supported number of external interrupts.
+ supported number of external interrupts.
- ``TFM_HAL_ERROR_GENERIC`` - failed to enable the interrupt.
- ``TFM_HAL_SUCCESS`` - the interrupt is successfully enabled.
@@ -644,7 +694,7 @@
**Return Values**
- ``TFM_HAL_ERROR_INVALID_INPUT`` - the ``irq_num`` exceeds The maximum
- supported number of external interrupts.
+ supported number of external interrupts.
- ``TFM_HAL_ERROR_GENERIC`` - failed to disable the interrupt.
- ``TFM_HAL_SUCCESS`` - the interrupt is successfully disabled.
@@ -668,7 +718,7 @@
**Return Values**
- ``TFM_HAL_ERROR_INVALID_INPUT`` - the ``irq_num`` exceeds The maximum
- supported number of external interrupts.
+ supported number of external interrupts.
- ``TFM_HAL_ERROR_GENERIC`` - failed to clear the pending interrupt.
- ``TFM_HAL_SUCCESS`` - the pending interrupt has been cleared.