Index: /branches/arm/lisp-kernel/lisp-debug.c
===================================================================
--- /branches/arm/lisp-kernel/lisp-debug.c	(revision 13801)
+++ /branches/arm/lisp-kernel/lisp-debug.c	(revision 13802)
@@ -285,5 +285,7 @@
   }
 #endif
-
+#ifdef ARM
+  fprintf(dbgout, "r%02d (%s) = %s\n", r, label, print_lisp_object(val));
+#endif
 }
 
@@ -525,5 +527,5 @@
       show_lisp_register(xp, "temp2/nfn", temp2);
       show_lisp_register(xp, "temp3/fname", temp3);
-      /*    show_lisp_register(xp, "new_fn", new_fn); */
+
       show_lisp_register(xp, "save0", save0);
       show_lisp_register(xp, "save1", save1);
@@ -570,4 +572,21 @@
     fprintf(dbgout,"%%edx (nargs) = %d (maybe)\n", unbox_fixnum(xpGPR(xp,Inargs)));
   }
+#endif
+#ifdef ARM
+    TCR *xpcontext = (TCR *)ptr_from_lispobj(xpGPR(xp, rcontext));
+
+    fprintf(dbgout, "rcontext = 0x%lX ", xpcontext);
+    if (!active_tcr_p(xpcontext)) {
+      fprintf(dbgout, "(INVALID)\n");
+    } else {
+      fprintf(dbgout, "\nnargs = %d\n", xpGPR(xp, nargs) >> fixnumshift);
+      show_lisp_register(xp, "fn", fn);
+      show_lisp_register(xp, "arg_z", arg_z);
+      show_lisp_register(xp, "arg_y", arg_y);
+      show_lisp_register(xp, "arg_x", arg_x);
+      show_lisp_register(xp, "temp0", temp0);
+      show_lisp_register(xp, "temp1/fname/next_method_context", temp1);
+      show_lisp_register(xp, "temp2/nfn", temp2);
+    }
 #endif
   }
@@ -846,4 +865,13 @@
 #endif
 
+#ifdef ARM
+  int a, b;
+  for (a = 0, b = 8; a < 8; a++, b++) {
+    fprintf(dbgout,"r%02d = 0x%08lX    r%02d = 0x%08lX\n",
+	    a, xpGPR(xp, a),
+	    b, xpGPR(xp, b));
+  }
+#endif
+
   return debug_continue;
 }
