Merge pull request #156 from riscv/PrivChange
[riscv-tests.git] / debug / testlib.py
index 1d46b6c4a59cd93279595bba63a8115b780007d9..59440b361330cbf472be506cfc6bfa83c2ec3797 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():
+            parts = line.split()
+            name = parts[0]
+            if "Could not fetch" in line:
+                result[name] = " ".join(parts[1:])
+            else:
+                result[name] = int(parts[1], 0)
+        return result
+
     def stepi(self):
         output = self.command("stepi", ops=10)
         return output