aboutsummaryrefslogtreecommitdiff
path: root/debug/gdbserver.py
diff options
context:
space:
mode:
Diffstat (limited to 'debug/gdbserver.py')
-rwxr-xr-xdebug/gdbserver.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/debug/gdbserver.py b/debug/gdbserver.py
index 04459b8..db339a9 100755
--- a/debug/gdbserver.py
+++ b/debug/gdbserver.py
@@ -117,6 +117,27 @@ class SimpleT1Test(SimpleRegisterTest):
def test(self):
self.check_reg("t1", "x6")
+class SimpleV13Test(SimpleRegisterTest):
+ def test(self):
+ if self.hart.extensionSupported('V'):
+ vlenb = self.gdb.p("$vlenb")
+ # Can't write quadwords, because gdb won't parse a 128-bit hex
+ # value.
+ written = {}
+ for name, byte_count in (('b', 1), ('s', 2), ('w', 4), ('l', 8)):
+ written[name] = {}
+ for i in range(vlenb // byte_count):
+ written[name][i] = random.randrange(256 ** byte_count)
+ self.gdb.p("$v13.%s[%d]=0x%x" % (name, i, written[name][i]))
+ self.gdb.stepi()
+ self.gdb.p("$v13")
+ for i in range(vlenb // byte_count):
+ assertEqual(self.gdb.p("$v13.%s[%d]" % (name, i)),
+ written[name][i])
+ else:
+ output = self.gdb.p_raw("$v13")
+ assertRegex(output, r"void|Could not fetch register.*")
+
class SimpleF18Test(SimpleRegisterTest):
def check_reg(self, name, alias):
if self.hart.extensionSupported('F'):