X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fpalacios%2Fvmm_util.c;fp=palacios%2Fsrc%2Fpalacios%2Fvmm_util.c;h=77440e50497c9ca999608797a82f4d9009d1e442;hb=a109eb919a162bd7de58d62020801bc2e633be50;hp=0000000000000000000000000000000000000000;hpb=5ad0c835a5bd7181a7a342478bd398ad73712306;p=palacios-OLD.git diff --git a/palacios/src/palacios/vmm_util.c b/palacios/src/palacios/vmm_util.c new file mode 100644 index 0000000..77440e5 --- /dev/null +++ b/palacios/src/palacios/vmm_util.c @@ -0,0 +1,40 @@ +#include + +#include + +extern struct vmm_os_hooks * os_hooks; + + +void PrintTraceHex(unsigned char x) { + unsigned char z; + + z = (x >> 4) & 0xf ; + PrintTrace("%x", z); + z = x & 0xf; + PrintTrace("%x", z); +} + + +void PrintTraceMemDump(unsigned char *start, int n) +{ + int i, j; + + for (i = 0; i < n; i += 16) { + PrintTrace("%8x", (unsigned)(start + i)); + for (j = i; (j < (i + 16)) && (j < n); j += 2) { + PrintTrace(" "); + PrintTraceHex(*((unsigned char *)(start + j))); + if ((j + 1) < n) { + PrintTraceHex(*((unsigned char *)(start + j + 1))); + } + } + PrintTrace(" "); + for (j = i; (j < (i + 16)) && (j < n); j++) { + PrintTrace("%c", ((start[j] >= 32) && (start[j] <= 126)) ? start[j] : '.'); + } + PrintTrace("\n"); + } +} + + +