feat(trace-ext): Add trace extension test configurations
Added a test configurations to test:
1. Access to trace buffer control registers from TFTF
2. Access to trace filter control registers from TFTF
3. Access to trace system registers from TFTF
Change-Id: I76a64b43a0254553fd0e298786c55ea49c69f5d4
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
diff --git a/group/tf-l2-boot-tests-misc/fvp-aarch32-default,fvp-aarch32-default:fvp-tftf.aarch32-fip.tftf-aemva.aarch32.etm_trace_ext b/group/tf-l2-boot-tests-misc/fvp-aarch32-default,fvp-aarch32-default:fvp-tftf.aarch32-fip.tftf-aemva.aarch32.etm_trace_ext
new file mode 100644
index 0000000..1bbc737
--- /dev/null
+++ b/group/tf-l2-boot-tests-misc/fvp-aarch32-default,fvp-aarch32-default:fvp-tftf.aarch32-fip.tftf-aemva.aarch32.etm_trace_ext
@@ -0,0 +1,5 @@
+#
+# Copyright (c) 2021 Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
diff --git a/group/tf-l2-boot-tests-misc/fvp-default,fvp-default:fvp-tftf-fip.tftf-aemva.ete_trace_ext b/group/tf-l2-boot-tests-misc/fvp-default,fvp-default:fvp-tftf-fip.tftf-aemva.ete_trace_ext
new file mode 100644
index 0000000..1bbc737
--- /dev/null
+++ b/group/tf-l2-boot-tests-misc/fvp-default,fvp-default:fvp-tftf-fip.tftf-aemva.ete_trace_ext
@@ -0,0 +1,5 @@
+#
+# Copyright (c) 2021 Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
diff --git a/group/tf-l2-boot-tests-misc/fvp-default,fvp-default:fvp-tftf-fip.tftf-aemva.etm_trace_ext b/group/tf-l2-boot-tests-misc/fvp-default,fvp-default:fvp-tftf-fip.tftf-aemva.etm_trace_ext
new file mode 100644
index 0000000..1bbc737
--- /dev/null
+++ b/group/tf-l2-boot-tests-misc/fvp-default,fvp-default:fvp-tftf-fip.tftf-aemva.etm_trace_ext
@@ -0,0 +1,5 @@
+#
+# Copyright (c) 2021 Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
diff --git a/model/base-aemva-common.sh b/model/base-aemva-common.sh
index a0fc23a..26aecfc 100644
--- a/model/base-aemva-common.sh
+++ b/model/base-aemva-common.sh
@@ -67,6 +67,18 @@
# is multi-threading compatible
reset_var supports_multi_threading
+# ETM plugin to access ETM trace system registers
+reset_var etm_plugin
+
+# ETE plugin to access ETE trace system registers
+reset_var ete_plugin
+
+# Trace filter register support
+reset_var supports_trace_filter_regs
+
+# Trace buffer control register support
+reset_var supports_trace_buffer_control_regs
+
source "$ci_root/model/fvp_common.sh"
#------------ Common configuration --------------
@@ -89,6 +101,9 @@
${nvcounter_version+-C bp.trusted_nv_counter.version=$nvcounter_version}
${nvcounter_diag+-C bp.trusted_nv_counter.diagnostics=$nvcounter_diag}
+
+${etm_plugin+--plugin=$etm_plugin_path}
+${ete_plugin+--plugin=$ete_plugin_path}
EOF
# TFTF Reboot/Shutdown tests
@@ -154,6 +169,8 @@
${etm_present+-C cluster0.cpu1.etm-present=$etm_present}
${etm_present+-C cluster0.cpu2.etm-present=$etm_present}
${etm_present+-C cluster0.cpu3.etm-present=$etm_present}
+${supports_trace_filter_regs+-C cluster0.has_self_hosted_trace_extension=$supports_trace_filter_regs}
+${supports_trace_buffer_control_regs+-C cluster0.has_trbe=$supports_trace_buffer_control_regs}
EOF
@@ -262,6 +279,8 @@
${etm_present+-C cluster1.cpu1.etm-present=$etm_present}
${etm_present+-C cluster1.cpu2.etm-present=$etm_present}
${etm_present+-C cluster1.cpu3.etm-present=$etm_present}
+${supports_system_trace_filter_regs+-C cluster1.has_self_hosted_trace_extension=$supports_system_trace_filter_regs}
+${supports_trace_buffer_control_regs+-C cluster1.has_trbe=$supports_trace_buffer_control_regs}
EOF
diff --git a/model/base-aemva.sh b/model/base-aemva.sh
index 2e681f2..6a5e956 100644
--- a/model/base-aemva.sh
+++ b/model/base-aemva.sh
@@ -9,6 +9,10 @@
default_var sve_plugin_path "$warehouse/SysGen/PVModelLib/$model_version/$model_build/external/plugins/$model_flavour/sve2-HEAD/ScalableVectorExtension.so"
+default_var etm_plugin_path "$warehouse/SysGen/PVModelLib/$model_version/$model_build/external/plugins/$model_flavour/ETMv4ExamplePlugin.so"
+
+default_var ete_plugin_path "$warehouse/SysGen/ETE/0.0/79/external/lib/Linux64_GCC-6.4/libete-plugin.so"
+
default_var is_dual_cluster 0
source "$ci_root/model/base-aemva-common.sh"
diff --git a/run_config/fvp-aemva.aarch32.etm_trace_ext b/run_config/fvp-aemva.aarch32.etm_trace_ext
new file mode 100644
index 0000000..3c25591
--- /dev/null
+++ b/run_config/fvp-aemva.aarch32.etm_trace_ext
@@ -0,0 +1,18 @@
+#!/usr/bin/env bash
+#
+# Copyright (c) 2021 Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+post_fetch_tf_resource() {
+ local model="base-aemva"
+
+ aarch32="1" \
+ etm_present="1" \
+ etm_plugin="1" \
+ supports_trace_filter_regs="2" \
+ model="$model" gen_model_params
+
+ model="$model" gen_fvp_yaml
+}
diff --git a/run_config/fvp-aemva.ete_trace_ext b/run_config/fvp-aemva.ete_trace_ext
new file mode 100644
index 0000000..a910998
--- /dev/null
+++ b/run_config/fvp-aemva.ete_trace_ext
@@ -0,0 +1,20 @@
+#!/usr/bin/env bash
+#
+# Copyright (c) 2021 Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+post_fetch_tf_resource() {
+ local model="base-aemva"
+
+ model_version="0.0" \
+ model_build="6684" \
+ etm_present="1" \
+ ete_plugin="1" \
+ supports_trace_buffer_control_regs="1" \
+ supports_trace_filter_regs="2" \
+ model="$model" gen_model_params
+
+ model="$model" gen_fvp_yaml
+}
diff --git a/run_config/fvp-aemva.etm_trace_ext b/run_config/fvp-aemva.etm_trace_ext
new file mode 100644
index 0000000..64e03c5
--- /dev/null
+++ b/run_config/fvp-aemva.etm_trace_ext
@@ -0,0 +1,18 @@
+#!/usr/bin/env bash
+#
+# Copyright (c) 2021 Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+post_fetch_tf_resource() {
+ local model="base-aemva"
+
+ etm_present="1" \
+ etm_plugin="1" \
+ supports_trace_buffer_control_regs="1" \
+ supports_trace_filter_regs="2" \
+ model="$model" gen_model_params
+
+ model="$model" gen_fvp_yaml
+}