X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Finclude%2Fpalacios%2Fvmm_debug.h;h=9d6835929e3278f8dc5f7c2f7b2a0790eae87b05;hb=9b4bfeefac09294a6f0ae12dbadf102eb547f5ec;hp=31f3dcc54f76380bc2b0e03e18573e620df58f9b;hpb=f9bb3db89469169bb5775dc031d89e570c6fed70;p=palacios.git diff --git a/palacios/include/palacios/vmm_debug.h b/palacios/include/palacios/vmm_debug.h index 31f3dcc..9d68359 100644 --- a/palacios/include/palacios/vmm_debug.h +++ b/palacios/include/palacios/vmm_debug.h @@ -1,100 +1,118 @@ -/* 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". + */ + #ifndef __VMM_DEBUG_H #define __VMM_DEBUG_H #ifdef __V3VEE__ + #include struct dbg_bp32 { - uint_t breakpoint : 32; + uint_t breakpoint : 32; }; struct dbg_bp64 { - ullong_t breakpoint; + ullong_t breakpoint; }; struct dr6_32 { - uint_t bp0 : 1; - uint_t bp1 : 1; - uint_t bp2 : 1; - uint_t bp3 : 1; - uint_t rsvd1 : 8; // read as ones - uint_t rsvd2 : 1; // read as zero - uint_t bd : 1; - uint_t bs : 1; - uint_t bt : 1; - uint_t rsvd3 : 16; // read as one + uint_t bp0 : 1; + uint_t bp1 : 1; + uint_t bp2 : 1; + uint_t bp3 : 1; + uint_t rsvd1 : 8; // read as ones + uint_t rsvd2 : 1; // read as zero + uint_t bd : 1; + uint_t bs : 1; + uint_t bt : 1; + uint_t rsvd3 : 16; // read as one }; struct dr6_64 { - uint_t bp0 : 1; - uint_t bp1 : 1; - uint_t bp2 : 1; - uint_t bp3 : 1; - uint_t rsvd1 : 8; // read as ones - uint_t rsvd2 : 1; // read as zero - uint_t bd : 1; - uint_t bs : 1; - uint_t bt : 1; - uint_t rsvd3 : 16; // read as one - uint_t rsvd4 : 32; // MBZ + uint_t bp0 : 1; + uint_t bp1 : 1; + uint_t bp2 : 1; + uint_t bp3 : 1; + uint_t rsvd1 : 8; // read as ones + uint_t rsvd2 : 1; // read as zero + uint_t bd : 1; + uint_t bs : 1; + uint_t bt : 1; + uint_t rsvd3 : 16; // read as one + uint_t rsvd4 : 32; // MBZ }; struct dr7_32 { - uint_t L0 : 1; - uint_t G0 : 1; - uint_t L1 : 1; - uint_t G1 : 1; - uint_t L2 : 1; - uint_t G2 : 1; - uint_t L3 : 1; - uint_t G3 : 1; - uint_t LE : 1; - uint_t GE : 1; - uint_t rsvd1 : 1; // Read as one - uint_t rsvd2 : 2; // Read as zero - uint_t GD : 1; - uint_t rsvd3 : 2; // Read as zero - uint_t rw0 : 1; - uint_t len0 : 1; - uint_t rw1 : 1; - uint_t len1 : 1; - uint_t rw2 : 1; - uint_t len2 : 1; - uint_t rw3 : 1; - uint_t len3 : 1; + uint_t L0 : 1; + uint_t G0 : 1; + uint_t L1 : 1; + uint_t G1 : 1; + uint_t L2 : 1; + uint_t G2 : 1; + uint_t L3 : 1; + uint_t G3 : 1; + uint_t LE : 1; + uint_t GE : 1; + uint_t rsvd1 : 1; // Read as one + uint_t rsvd2 : 2; // Read as zero + uint_t GD : 1; + uint_t rsvd3 : 2; // Read as zero + uint_t rw0 : 1; + uint_t len0 : 1; + uint_t rw1 : 1; + uint_t len1 : 1; + uint_t rw2 : 1; + uint_t len2 : 1; + uint_t rw3 : 1; + uint_t len3 : 1; }; struct dr7_64 { - uint_t L0 : 1; - uint_t G0 : 1; - uint_t L1 : 1; - uint_t G1 : 1; - uint_t L2 : 1; - uint_t G2 : 1; - uint_t L3 : 1; - uint_t G3 : 1; - uint_t LE : 1; - uint_t GE : 1; - uint_t rsvd1 : 1; // Read as one - uint_t rsvd2 : 2; // Read as zero - uint_t GD : 1; - uint_t rsvd3 : 2; // Read as zero - uint_t rw0 : 1; - uint_t len0 : 1; - uint_t rw1 : 1; - uint_t len1 : 1; - uint_t rw2 : 1; - uint_t len2 : 1; - uint_t rw3 : 1; - uint_t len3 : 1; - uint_t rsvd4 : 32; // MBZ + uint_t L0 : 1; + uint_t G0 : 1; + uint_t L1 : 1; + uint_t G1 : 1; + uint_t L2 : 1; + uint_t G2 : 1; + uint_t L3 : 1; + uint_t G3 : 1; + uint_t LE : 1; + uint_t GE : 1; + uint_t rsvd1 : 1; // Read as one + uint_t rsvd2 : 2; // Read as zero + uint_t GD : 1; + uint_t rsvd3 : 2; // Read as zero + uint_t rw0 : 1; + uint_t len0 : 1; + uint_t rw1 : 1; + uint_t len1 : 1; + uint_t rw2 : 1; + uint_t len2 : 1; + uint_t rw3 : 1; + uint_t len3 : 1; + uint_t rsvd4 : 32; // MBZ }; @@ -102,8 +120,8 @@ struct dr7_64 { -void PrintDebugHex(unsigned char x); -void PrintDebugMemDump(unsigned char *start, int n); +void PrintDebugHex(uchar_t x); +void PrintDebugMemDump(uchar_t * start, int n);