X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fpalacios%2Fvmm_debug.c;h=51f1c0ff583f061deceab7959622f55d69a69df7;hb=266af4b5b19da7bee8e7445288c7c1cb3ee194c7;hp=d5520c32e212d7c309c06bf13de9f4c5490eb0e1;hpb=a109eb919a162bd7de58d62020801bc2e633be50;p=palacios.git diff --git a/palacios/src/palacios/vmm_debug.c b/palacios/src/palacios/vmm_debug.c index d5520c3..51f1c0f 100644 --- a/palacios/src/palacios/vmm_debug.c +++ b/palacios/src/palacios/vmm_debug.c @@ -1,34 +1,57 @@ +/* + * 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"); - } }