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
+}
+