Tools: Support for dual-model Test Secure Partitions

A TF-M regression test Partition may support both the SFN and IPC model.
The actual model being used follows the SPM backend enabled.
This is quite useful if a Secure Partition is required in testing both
the IPC and SFN backend.

This patch adds this support by allowing Secure Partitions to set
the "model" attribute to "dual".
Then the manifest tool changes it to the corresponding values according
to the selected backend.

Change-Id: I56225b10d3f2384a99e19be3fefaa0e52685a8b0
Signed-off-by: Kevin Peng <kevin.peng@arm.com>
diff --git a/docs/integration_guide/tfm_test_suites_addition.rst b/docs/integration_guide/tfm_test_suites_addition.rst
index ccab714..87d6041 100644
--- a/docs/integration_guide/tfm_test_suites_addition.rst
+++ b/docs/integration_guide/tfm_test_suites_addition.rst
@@ -303,6 +303,36 @@
     their locations are different. Test service manifests shall be set in
     ``tf-m-tests/test/secure_fw/tfm_test_manifest_list.yaml``.
 
+Test Partition Specific Manifest Attributes
+===========================================
+There are some test purpose attributes in Secure Partition manifests that are
+**NOT** compatible with FF-M.
+They should be used in Test Partitions only.
+
+weak_dependencies
+-----------------
+A TF-M regression test Partition calls other RoT services for test. But it
+can still run other tests if some of the RoT services are disabled.
+TF-M defines a ``"weak_dependencies"`` attribute in partition manifests of
+regression test partitions to describe test service access to other RoT
+services. It *shall* be only used for TF-M regression test services.
+
+model
+-----
+A TF-M regression test Partition may support both the SFN and IPC model.
+The actual model being used follows the SPM backend enabled.
+
+The TF-M build system supports this by allowing Secure Partitions to set
+the ``model`` attribute to ``dual``.
+The manifest tool will then change it to the corresponding value according
+to the current backend selected.
+
+The Test Partitions use the following definitions to know what model is being
+built:
+
+- ``<<partition_name>>_MODEL_IPC``, ``1`` if IPC model is used.
+- ``<<partition_name>>_MODEL_SFN``, ``1`` if SFN model is used.
+
 Test service implementation
 ===========================