Index: tools/gdb/python/classic.py
===================================================================
--- tools/gdb/python/classic.py	(revision 5a4834c6415f5e621bc753744fe6fafbb064aca0)
+++ tools/gdb/python/classic.py	(revision bd0b98d55e4bcb29ce0631e6c717f873739bf80b)
@@ -17,4 +17,5 @@
 import heaps
 import supercore
+import sparc
 
 class attribute:
@@ -156,4 +157,6 @@
             threads.control(self.object)
         self.wait_info = self.task.wait_info()
+        # ToDo: Insert platform dep. code here.
+        self.regs = sparc.register(self.object['Registers'])
 
     def show(self, from_tty):
@@ -164,4 +167,6 @@
         print '  Preempt:', self.task.preemptible()
         print ' T Budget:', self.task.cpu_time_budget()
+        print ' Regsters:'
+        self.regs.show()
 
 
Index: tools/gdb/python/sparc.py
===================================================================
--- tools/gdb/python/sparc.py	(revision 5a4834c6415f5e621bc753744fe6fafbb064aca0)
+++ tools/gdb/python/sparc.py	(revision bd0b98d55e4bcb29ce0631e6c717f873739bf80b)
@@ -5,70 +5,72 @@
 from helper import test_bit
 
-class psr:
-    '''status register'''
 
-    sv_table = {
-        0 : 'user',
-        1 : 'superviser'
-    }
-
-
-    def __init__(self, psr):
-        self.psr = psr
-
-    def current_window(self):
-        return int(self.psr & 0xf)
-
-    def traps(self):
-        return test_bit(self.psr, 5)
-
-    def prev_superviser(self):
-        return int(test_bit(self.psr,6))
-
-    def superviser(self):
-        return int(test_bit(self.psr,7))
-
-    def interrupt_level(self):
-        # bits 8 to 11
-        return (self.spr & 0x780) >> 7
-
-    def floating_point_status(self):
-        return test_bit(self.psr, 12)
-
-    def coproc_status(self):
-        return test_bit(self.psr,13)
-
-    def carry(self):
-        return test_bit(self.psr, 20)
-
-    def overflow(self):
-        return test_bit(self.psr, 21)
-
-    def zero(self):
-        return test_bit(self.psr, 22)
-
-    def icc(self):
-        n = test_bit(self.psr,23)
-        z = test_bit(self.psr,22)
-        v = test_bit(self.psr,21)
-        c = test_bit(self.psr,20)
-        return (n,z,v,c)
-
-    def to_string(self):
-        val = "     Status Register"
-        val += "\n         R Window : " + str(self.current_window())
-        val += "\n    Traps Enabled : " + str(self.traps())
-        val += "\n   Flaoting Point : " + str(self.floating_point_status())
-        val += "\n      Coprocessor : " + str(self.coproc_status())
-        val += "\n   Processor Mode : " + self.sv_table[self.superviser()]
-        val += "\n       Prev. Mode : " + self.sv_table[self.superviser()]
-        val += "\n            Carry : " + str(int(self.carry()))
-        val += "\n         Overflow : " + str(int(self.overflow()))
-        val += "\n             Zero : " + str(int(self.zero()))
-
-        return val
 
 class register:
     '''SPARC Registers'''
+
+    class psr:
+        '''status register'''
+
+        sv_table = {
+            0 : 'user',
+            1 : 'superviser'
+        }
+
+
+        def __init__(self, psr):
+            self.psr = psr
+
+        def current_window(self):
+            return int(self.psr & 0xf)
+
+        def traps(self):
+            return test_bit(self.psr, 5)
+
+        def prev_superviser(self):
+            return int(test_bit(self.psr,6))
+
+        def superviser(self):
+            return int(test_bit(self.psr,7))
+
+        def interrupt_level(self):
+            # bits 8 to 11
+            return (self.spr & 0x780) >> 7
+
+        def floating_point_status(self):
+            return test_bit(self.psr, 12)
+
+        def coproc_status(self):
+            return test_bit(self.psr,13)
+
+        def carry(self):
+            return test_bit(self.psr, 20)
+
+        def overflow(self):
+            return test_bit(self.psr, 21)
+
+        def zero(self):
+            return test_bit(self.psr, 22)
+
+        def icc(self):
+            n = test_bit(self.psr,23)
+            z = test_bit(self.psr,22)
+            v = test_bit(self.psr,21)
+            c = test_bit(self.psr,20)
+            return (n,z,v,c)
+
+        def to_string(self):
+            val = "     Status Register"
+            val += "\n         R Window : " + str(self.current_window())
+            val += "\n    Traps Enabled : " + str(self.traps())
+            val += "\n   Flaoting Point : " + str(self.floating_point_status())
+            val += "\n      Coprocessor : " + str(self.coproc_status())
+            val += "\n   Processor Mode : " + self.sv_table[self.superviser()]
+            val += "\n       Prev. Mode : " + self.sv_table[self.superviser()]
+            val += "\n            Carry : " + str(int(self.carry()))
+            val += "\n         Overflow : " + str(int(self.overflow()))
+            val += "\n             Zero : " + str(int(self.zero()))
+
+            return val
 
     def __init__(self,reg):
@@ -109,7 +111,32 @@
         return val
 
+    def status(self):
+        return self.psr(self.reg['psr'])
 
+    def show(self):
+        print '         Global Regs:',
+        print ' [',
+        for i in self.global_regs():
+            print str(i)+',',
+        print '\b\b ]'
 
+        print '          Local Regs:',
+        print ' [',
+        for i in self.local_regs():
+            print str(i)+',',
+        print '\b\b ]'
 
+        print '             In Regs:',
+        print ' [',
+        for i in self.in_regs():
+            print str(i)+',',
+        print '\b\b ]'
 
+        print '            Out Regs:',
+        print ' [',
+        for i in self.out_regs():
+            print str(i)+',',
+        print '\b\b ]'
 
+        sr = self.status()
+        print sr.to_string()
