Add test case for `riscv expose_custom`.
[riscv-tests.git] / debug / testlib.py
index 1d46b6c4a59cd93279595bba63a8115b780007d9..6adc43ad6586ad8e11f14fb9e7d549e2d8f21cf0 100644 (file)
@@ -552,6 +552,18 @@ class Gdb(object):
         value = shlex.split(output.split('=')[-1].strip())[1]
         return value
 
+    def info_registers(self, group):
+        output = self.command("info registers %s" % group)
+        result = {}
+        for line in output.splitlines():
+            if "Could not fetch" in line:
+                name, value = line.split(None, 1)
+            else:
+                name, hex_value, _ = line.split(None, 2)
+                value = int(hex_value, 0)
+            result[name] = value
+        return result
+
     def stepi(self):
         output = self.command("stepi", ops=10)
         return output