ci(cm): add test_config to validate EL1 ctx with TSP
* This patch adds tfa and tftf build configs and the appropriate
run_config fragments required to enable the features, which
are covered until v8.9.
* TSP is the secure world software component and TFTF is the Normal
world component, which exercises EL1 context registers in this test.
* Build configs ensures most of the EL1 context registers are getting
involved in the test environment.
Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
Change-Id: I96e52af3eb6a4d06937ece2e7ca32a9828647880
diff --git a/model/base-aemva-common.sh b/model/base-aemva-common.sh
index 8192234..00f1bf5 100644
--- a/model/base-aemva-common.sh
+++ b/model/base-aemva-common.sh
@@ -85,6 +85,27 @@
# Enable FEAT_ECV
reset_var has_ecv
+# Enable FEAT_S1PIE
+reset_var has_s1pie
+
+# Enable FEAT_S2PIE
+reset_var has_s2pie
+
+# Enable FEAT_S1POE
+reset_var has_s1poe
+
+# Enable FEAT_S2POE
+reset_var has_s2poe
+
+# Enable FEAT_TCR2
+reset_var has_tcr2
+
+# Enable FEAT_CSV2_2
+reset_var has_csv2_2
+
+# Enable FEAT_GCS
+reset_var has_gcs
+
# Layout of MPIDR. 0=AFF0 is CPUID, 1=AFF1 is CPUID
reset_var mpidr_layout
@@ -441,6 +462,55 @@
EOF
fi
+if [ "$has_s1pie" = "1" ]; then
+ cat <<EOF >>"$model_param_file"
+-C cluster0.has_permission_indirection_s1=2
+-C cluster1.has_permission_indirection_s1=2
+EOF
+fi
+
+if [ "$has_s2pie" = "1" ]; then
+ cat <<EOF >>"$model_param_file"
+-C cluster0.has_permission_indirection_s2=2
+-C cluster1.has_permission_indirection_s2=2
+EOF
+fi
+
+if [ "$has_s1poe" = "1" ]; then
+ cat <<EOF >>"$model_param_file"
+-C cluster0.has_permission_overlay_s1=2
+-C cluster1.has_permission_overlay_s1=2
+EOF
+fi
+
+if [ "$has_s2poe" = "1" ]; then
+ cat <<EOF >>"$model_param_file"
+-C cluster0.has_permission_overlay_s2=2
+-C cluster1.has_permission_overlay_s2=2
+EOF
+fi
+
+if [ "$has_tcr2" = "1" ]; then
+ cat <<EOF >>"$model_param_file"
+-C cluster0.has_tcr2=2
+-C cluster1.has_tcr2=2
+EOF
+fi
+
+if [ "$has_csv2_2" = "1" ]; then
+ cat <<EOF >>"$model_param_file"
+-C cluster0.restriction_on_speculative_execution=2
+-C cluster1.restriction_on_speculative_execution=2
+EOF
+fi
+
+if [ "$has_gcs" = "1" ]; then
+ cat <<EOF >>"$model_param_file"
+-C cluster0.has_gcs=2
+-C cluster1.has_gcs=2
+EOF
+fi
+
# Accelerator support level enabled
if [ "$accelerator_support_level" != "0" ]; then
cat <<EOF >>"$model_param_file"