feat(spmc) Add TSP tests for EL3 SPMC to CI

TSP tests are designed to be exercised by the
FF-A Test Driver in the Normal World.
These have been designed to test basic functionality of the EL3 SPMC.

These tests currently ensure the following functionality:
  - Partition discovery.
  - Direct messaging.
  - Communication with a Logical SP.
  - Memory Sharing and Lending ABIs
  - Sharing of contiguous and non-contiguous memory regions.
  - Memory region descriptors spread of over multiple
    invocations.
  - Multiple endpoint memory transitions.

This test config builds TF-A with SPMC_AT_EL3
and uses prebuilt Linux Image with integrated
FF-A Test Driver in the Normal World.

Change-Id: Ib6ecca0f87b6696a647afd3bf5a253b5a88fd842
Signed-off-by: Shruti <shruti.gupta@arm.com>
diff --git a/run_config/fvp-tsp.rootfs b/run_config/fvp-tsp.rootfs
new file mode 100644
index 0000000..e09ca7a
--- /dev/null
+++ b/run_config/fvp-tsp.rootfs
@@ -0,0 +1,31 @@
+#
+# Copyright (c) 2022, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+ 
+#!/usr/bin/env bash
+
+post_tf_build() {
+        # Fetch EDK2 and pre-built partition files
+        url="$tfa_downloads/spm-el3/06-15-22/normal_world_multi.dts" saveas="normal_world_multi.dts" fetch_file
+        rootfs_url="$tfa_downloads/spm-el3/06-15-22/boot-fat.uefi.img" saveas="boot-fat.uefi.img" get_rootfs
+        url="$tfa_downloads/spm-el3/06-15-22/FVP_AARCH64_EFI.fd" saveas="FVP_AARCH64_EFI.fd" fetch_file
+        archive_file "normal_world_multi.dts"
+        archive_file "FVP_AARCH64_EFI.fd"
+        build_fip BL33="$archive/FVP_AARCH64_EFI.fd" NT_FW_CONFIG="$archive/normal_world_multi.dts"
+}
+
+fetch_tf_resource() {
+        # Expect scripts
+        uart="0" timeout="800" file="ffa_test_driver.exp" track_expect
+        uart="2" timeout="800" file="tsp_el3spmc.exp" track_expect
+        uart="1" timeout="800" file="hold_uart.exp" track_expect
+        payload_type="linux" gen_fvp_yaml_template
+}
+
+post_fetch_tf_resource() {
+        local model="base-aemv8a"
+        model="$model"  arch_version="8.4" gen_model_params
+        model="$model" gen_fvp_yaml
+}
+