summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tools/gdb/python/sparc.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/tools/gdb/python/sparc.py b/tools/gdb/python/sparc.py
index fa7b037..b0e251d 100644
--- a/tools/gdb/python/sparc.py
+++ b/tools/gdb/python/sparc.py
@@ -68,6 +68,45 @@ class psr:
return val
+class register:
+ '''SPARC Registers'''
+
+ def __init__(self,reg):
+ self.reg = reg
+
+ def global_regs(self):
+ val = [self.reg['g0_g1']]
+
+ for i in range(2,7):
+ val.append(int(self.reg['g'+str(i)]))
+ return val
+
+ def local_regs(self):
+ val = []
+
+ for i in range(0,8):
+ val.append(self.reg['l'+str(i)])
+ return val
+
+ def in_regs(self):
+ val = []
+
+ for i in range(0,8):
+ if i==6:
+ val.append(self.reg['i6_fp'])
+ else:
+ val.append(self.reg['i'+str(i)])
+ return val
+
+ def out_regs(self):
+ val = []
+
+ for i in range(0,8):
+ if i==6:
+ val.append(self.reg['o6_sp'])
+ else:
+ val.append(self.reg['o'+str(i)])
+ return val