diff options
Diffstat (limited to 'tools/gdb/python/sparc.py')
-rw-r--r-- | tools/gdb/python/sparc.py | 39 |
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 |