// we have 7 bits of space here to play with...
                 0x21: m5exit({{PseudoInst::m5exit(xc->tcBase(), O0);
                               }}, No_OpClass, IsNonSpeculative);
+                0x50: m5readfile({{
+                                 O0 = PseudoInst::readfile(xc->tcBase(), O0, O1, O2);
+                                 }}, IsNonSpeculative);
+                0x51: m5break({{PseudoInst::debugbreak(xc->tcBase());
+                              }}, IsNonSpeculative);
                 0x54: m5panic({{
                               panic("M5 panic instruction called at pc=%#x.", xc->readPC());
                               }}, No_OpClass, IsNonSpeculative);
 
     'R1':              ('IntReg', 'udw', '1', None, 7),
     'R15':             ('IntReg', 'udw', '15', 'IsInteger', 8),
     'R16':             ('IntReg', 'udw', '16', None, 9),
-    'O0':               ('IntReg', 'udw', '24', 'IsInteger', 10),
-    'O1':               ('IntReg', 'udw', '25', 'IsInteger', 11),
-    'O2':               ('IntReg', 'udw', '26', 'IsInteger', 12),
-    'O3':               ('IntReg', 'udw', '27', 'IsInteger', 13),
-    'O4':               ('IntReg', 'udw', '28', 'IsInteger', 14),
-    'O5':               ('IntReg', 'udw', '29', 'IsInteger', 15),
+    'O0':               ('IntReg', 'udw', '8', 'IsInteger', 10),
+    'O1':               ('IntReg', 'udw', '9', 'IsInteger', 11),
+    'O2':               ('IntReg', 'udw', '10', 'IsInteger', 12),
+    'O3':               ('IntReg', 'udw', '11', 'IsInteger', 13),
+    'O4':               ('IntReg', 'udw', '12', 'IsInteger', 14),
+    'O5':               ('IntReg', 'udw', '13', 'IsInteger', 15),
 
     # Control registers
 #   'Y':               ('ControlReg', 'udw', 'MISCREG_Y', None, 40),
 
 #define END(func)         \
         .size    func, (.-func)
 
+#define DEBUGBREAK INST(debugbreak_func, 0, 0, 0)
 #define M5EXIT INST(exit_func, 0, 0, 0)
 #define PANIC INST(panic_func, 0, 0, 0)
+#define READFILE INST(readfile_func, 0, 0, 0)
 
 LEAF(m5_exit)
     retl
     PANIC
 END(m5_panic)
 
+LEAF(m5_readfile)
+    retl
+    READFILE
+END(m5_readfile)
+
+LEAF(m5_debugbreak)
+    retl
+    DEBUGBREAK
+END(m5_debugbreak)
 
 /* !!!!!! All code below here just panics !!!!!! */
 LEAF(arm)
     PANIC
 END(m5_checkpoint)
 
-LEAF(m5_readfile)
-    retl
-    PANIC
-END(m5_readfile)
-
-LEAF(m5_debugbreak)
-    retl
-    PANIC
-END(m5_debugbreak)
-
 LEAF(m5_switchcpu)
     retl
     PANIC