aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.arch/aarch64-sme-core-3.exp
diff options
context:
space:
mode:
authorLuis Machado <luis.machado@arm.com>2022-10-10 13:31:44 +0100
committerLuis Machado <luis.machado@arm.com>2023-10-04 16:23:40 +0100
commit16582a51c6e5ed05812d40050f63f35a2c7710c1 (patch)
tree2f4159598c2694308d2d050f4f71af0c8e2a3f45 /gdb/testsuite/gdb.arch/aarch64-sme-core-3.exp
parent69bfb2b6d08da64c6fe55b624aa28a68193b8b43 (diff)
downloadgdb-16582a51c6e5ed05812d40050f63f35a2c7710c1.zip
gdb-16582a51c6e5ed05812d40050f63f35a2c7710c1.tar.gz
gdb-16582a51c6e5ed05812d40050f63f35a2c7710c1.tar.bz2
sme: Add SVE/SME testcases
Add 5 SVE/SME tests to exercise all the new features like reading/writing registers, pseudo-registers, signal frames and core files. - Sanity check for SME: Gives a brief smoke test to make sure the most basic of features are working correctly. - ZA unavailability tests: Validates the behavior/content of the ZA register is correct when no payload is available. It also exercises changing the vector lengths. - ZA availability tests: These tests exercise reading/writing to all the possible ZA pseudo-registers, and validates the state is correct. - Core file tests: Validates that core file reading and writing works correctly and that all state dumped/loaded is sane. This is exercised for both Linux Kernel core files and gcore core files. - Signal frame tests: Validates the correct restoration of SME/SVE/FPSIMD values across signal frames. Since some of these tests are very lengthy and take a little while to run (under QEMU at the moment), I decided to parallelize them into smaller chunks so we can throw some more CPU power at them so they run faster. I'd still like to add a few more tests to give the testsuite more coverage in the areas of SME/SVE. Hopefully in the near future that will happen. Just a reminder that these SME tests are currently unsupported when gdb is connected to a remote target. That's because the RSP doesn't support communicating changes in vector lenghts mid-execution, so gdb will always get wrong state from the remote target. Co-Authored-By: Ezra Sitorus <ezra.sitorus@arm.com> Reviewed-by: Thiago Jung Bauermann <thiago.bauermann@linaro.org>
Diffstat (limited to 'gdb/testsuite/gdb.arch/aarch64-sme-core-3.exp')
-rw-r--r--gdb/testsuite/gdb.arch/aarch64-sme-core-3.exp23
1 files changed, 23 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.arch/aarch64-sme-core-3.exp b/gdb/testsuite/gdb.arch/aarch64-sme-core-3.exp
new file mode 100644
index 0000000..fa8931a
--- /dev/null
+++ b/gdb/testsuite/gdb.arch/aarch64-sme-core-3.exp
@@ -0,0 +1,23 @@
+# Copyright 2023 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+# Exercise tests with the following parameters:
+# state: ZA only
+# VL: 16, 32, 64, 128, 256
+# SVL: 16, 32, 64, 128, 256
+# This set covers 25 (75 ~ 99) out of 125 tests.
+set id_start 75
+set id_end 99
+source $srcdir/$subdir/aarch64-sme-core.exp.tcl