Add hexdump() output helper function.
authorKevin O'Connor <kevin@koconnor.net>
Wed, 18 Feb 2009 04:14:25 +0000 (23:14 -0500)
committerKevin O'Connor <kevin@koconnor.net>
Wed, 18 Feb 2009 04:14:25 +0000 (23:14 -0500)
src/output.c
src/util.h

index 2e6246b6ad7884659be3a7c80a302a4cd480cb10..5cda9c1362fb01dcebcc623597338ee3da78b70c 100644 (file)
@@ -257,6 +257,26 @@ printf(const char *fmt, ...)
     va_end(args);
 }
 
+void
+hexdump(void *d, int len)
+{
+    int count=0;
+    while (len) {
+        if (count % 8 == 0) {
+            putc(0, '\n');
+            puthex(0, count*4);
+            putc(0, ':');
+        } else {
+            putc(0, ' ');
+        }
+        puthex(0, *(u32*)d);
+        count++;
+        len-=4;
+        d+=4;
+    }
+    putc(0, '\n');
+}
+
 static void
 dump_regs(struct bregs *regs)
 {
index 3a6347d4244cb0bb6a48794bde9499ec01743770..ca2ed97eafe755d625ee4d20d02a378cd0e8c0d6 100644 (file)
@@ -113,6 +113,7 @@ void __debug_isr(const char *fname);
     } while (0)
 #define debug_stub(regs)                        \
     __debug_stub((regs), __LINE__, __func__)
+void hexdump(void *d, int len);
 
 // kbd.c
 void kbd_setup();