X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fpalacios%2Fvmm_debug.c;h=51f1c0ff583f061deceab7959622f55d69a69df7;hb=888c2dd8a3914f9a08e2b0e006ff96c5cc5cd792;hp=b3c14b92a64b4d0a0e67264024bbbc44febd702c;hpb=f9bb3db89469169bb5775dc031d89e570c6fed70;p=palacios.git diff --git a/palacios/src/palacios/vmm_debug.c b/palacios/src/palacios/vmm_debug.c index b3c14b9..51f1c0f 100644 --- a/palacios/src/palacios/vmm_debug.c +++ b/palacios/src/palacios/vmm_debug.c @@ -1,37 +1,57 @@ -/* Northwestern University */ -/* (c) 2008, Jack Lange */ +/* + * This file is part of the Palacios Virtual Machine Monitor developed + * by the V3VEE Project with funding from the United States National + * Science Foundation and the Department of Energy. + * + * The V3VEE Project is a joint project between Northwestern University + * and the University of New Mexico. You can find out more at + * http://www.v3vee.org + * + * Copyright (c) 2008, Jack Lange + * Copyright (c) 2008, The V3VEE Project + * All rights reserved. + * + * Author: Jack Lange + * + * This is free software. You are permitted to use, + * redistribute, and modify it as specified in the file "V3VEE_LICENSE". + */ #include #include -void PrintDebugHex(unsigned char x) -{ - unsigned char z; +void PrintDebugHex(uchar_t x) { + unsigned char z; - z = (x>>4) & 0xf ; - PrintDebug("%x", z); - z = x & 0xf; - PrintDebug("%x", z); + z = (x >> 4) & 0xf ; + PrintDebug("%x", z); + z = x & 0xf; + PrintDebug("%x", z); } -void PrintDebugMemDump(unsigned char *start, int n) -{ - int i, j; - - for (i=0;i=32) && (start[j]<=126)) ? start[j] : '.'); +void PrintDebugMemDump(uchar_t *start, int n) { + int i, j; + + for (i = 0; i < n; i += 16) { + PrintDebug("%p", (void *)(start + i)); + + for (j = i; (j < (i + 16)) && (j < n); j += 2) { + PrintDebug(" "); + PrintDebugHex(*((uchar_t *)(start + j))); + + if ((j + 1) < n) { + PrintDebugHex(*((uchar_t *)(start + j + 1))); + } + + } + + PrintDebug(" "); + + for (j = i; (j < (i + 16)) && (j < n); j++) { + PrintDebug("%c", ((start[j] >= 32) && (start[j] <= 126)) ? start[j] : '.'); + } + + PrintDebug("\n"); } - PrintDebug("\n"); - } }