Changeset 35312 in vbox for trunk/include/VBox
- Timestamp:
- Dec 23, 2010 4:40:16 PM (14 years ago)
- svn:sync-xref-src-repo-rev:
- 69165
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/dbgf.h
r34902 r35312 1062 1062 DBGFREG_R15D = DBGFREG_R15, 1063 1063 1064 DBGFREG_AH,1065 DBGFREG_CH,1066 DBGFREG_DH,1067 DBGFREG_BH,1068 1069 1064 /* Segments and other special registers: */ 1070 1065 DBGFREG_CS, 1066 DBGFREG_CS_ATTR, 1067 DBGFREG_CS_BASE, 1068 DBGFREG_CS_LIMIT, 1069 1071 1070 DBGFREG_DS, 1071 DBGFREG_DS_ATTR, 1072 DBGFREG_DS_BASE, 1073 DBGFREG_DS_LIMIT, 1074 1072 1075 DBGFREG_ES, 1076 DBGFREG_ES_ATTR, 1077 DBGFREG_ES_BASE, 1078 DBGFREG_ES_LIMIT, 1079 1073 1080 DBGFREG_FS, 1081 DBGFREG_FS_ATTR, 1082 DBGFREG_FS_BASE, 1083 DBGFREG_FS_LIMIT, 1084 1074 1085 DBGFREG_GS, 1086 DBGFREG_GS_ATTR, 1087 DBGFREG_GS_BASE, 1088 DBGFREG_GS_LIMIT, 1089 1075 1090 DBGFREG_SS, 1076 1077 DBGFREG_CS_ATTR,1078 DBGFREG_DS_ATTR,1079 DBGFREG_ES_ATTR,1080 DBGFREG_FS_ATTR,1081 DBGFREG_GS_ATTR,1082 1091 DBGFREG_SS_ATTR, 1083 1084 DBGFREG_CS_BASE,1085 DBGFREG_DS_BASE,1086 DBGFREG_ES_BASE,1087 DBGFREG_FS_BASE,1088 DBGFREG_GS_BASE,1089 1092 DBGFREG_SS_BASE, 1090 1091 DBGFREG_CS_LIMIT,1092 DBGFREG_DS_LIMIT,1093 DBGFREG_ES_LIMIT,1094 DBGFREG_FS_LIMIT,1095 DBGFREG_GS_LIMIT,1096 1093 DBGFREG_SS_LIMIT, 1097 1094 … … 1105 1102 1106 1103 /* FPU: */ 1107 DBGFREG_ST0,1108 DBGFREG_ST1,1109 DBGFREG_ST2,1110 DBGFREG_ST3,1111 DBGFREG_ST4,1112 DBGFREG_ST5,1113 DBGFREG_ST6,1114 DBGFREG_ST7,1115 1116 DBGFREG_MM0,1117 DBGFREG_MM1,1118 DBGFREG_MM2,1119 DBGFREG_MM3,1120 DBGFREG_MM4,1121 DBGFREG_MM5,1122 DBGFREG_MM6,1123 DBGFREG_MM7,1124 1125 1104 DBGFREG_FCW, 1126 1105 DBGFREG_FSW, … … 1133 1112 DBGFREG_MXCSR, 1134 1113 DBGFREG_MXCSR_MASK, 1114 1115 DBGFREG_ST0, 1116 DBGFREG_ST1, 1117 DBGFREG_ST2, 1118 DBGFREG_ST3, 1119 DBGFREG_ST4, 1120 DBGFREG_ST5, 1121 DBGFREG_ST6, 1122 DBGFREG_ST7, 1123 1124 DBGFREG_MM0, 1125 DBGFREG_MM1, 1126 DBGFREG_MM2, 1127 DBGFREG_MM3, 1128 DBGFREG_MM4, 1129 DBGFREG_MM5, 1130 DBGFREG_MM6, 1131 DBGFREG_MM7, 1135 1132 1136 1133 /* SSE: */ … … 1154 1151 1155 1152 /* System registers: */ 1156 DBGFREG_GDTR,1157 1153 DBGFREG_GDTR_BASE, 1158 1154 DBGFREG_GDTR_LIMIT, 1159 DBGFREG_IDTR,1160 1155 DBGFREG_IDTR_BASE, 1161 1156 DBGFREG_IDTR_LIMIT, … … 1200 1195 DBGFREG_MSR_K8_TSC_AUX, 1201 1196 1197 /** The number of registers to pass to DBGFR3RegQueryAll. */ 1198 DBGFREG_ALL_COUNT, 1199 1200 /* Misc aliases that doesn't need be part of the 'all' query: */ 1201 DBGFREG_AH = DBGFREG_ALL_COUNT, 1202 DBGFREG_CH, 1203 DBGFREG_DH, 1204 DBGFREG_BH, 1205 DBGFREG_GDTR, 1206 DBGFREG_IDTR, 1207 1202 1208 /** The end of the registers. */ 1203 1209 DBGFREG_END, … … 1205 1211 DBGFREG_32BIT_HACK = 0x7fffffff 1206 1212 } DBGFREG; 1213 /** Pointer to a register identifier. */ 1214 typedef DBGFREG *PDBGFREG; 1215 /** Pointer to a const register identifier. */ 1216 typedef DBGFREG const *PCDBGFREG; 1217 1218 /** 1219 * Register value type. 1220 */ 1221 typedef enum DBGFREGVALTYPE 1222 { 1223 DBGFREGVALTYPE_INVALID = 0, 1224 /** Unsigned 8-bit register value. */ 1225 DBGFREGVALTYPE_U8, 1226 /** Unsigned 16-bit register value. */ 1227 DBGFREGVALTYPE_U16, 1228 /** Unsigned 32-bit register value. */ 1229 DBGFREGVALTYPE_U32, 1230 /** Unsigned 64-bit register value. */ 1231 DBGFREGVALTYPE_U64, 1232 /** Unsigned 128-bit register value. */ 1233 DBGFREGVALTYPE_U128, 1234 /** 80-bit register value. */ 1235 DBGFREGVALTYPE_80, 1236 /** Long double register value. */ 1237 DBGFREGVALTYPE_LRD, 1238 /** Descriptor table register value. */ 1239 DBGFREGVALTYPE_DTR, 1240 /** End of the valid register value types. */ 1241 DBGFREGVALTYPE_END, 1242 /** The usual 32-bit type hack. */ 1243 DBGFREGVALTYPE_32BIT_HACK = 0x7fffffff 1244 } DBGFREGVALTYPE; 1245 1246 1247 /** 1248 * Entry in a batch query or set operation. 1249 */ 1250 typedef struct DBGFREGENTRY 1251 { 1252 /** The register identifier. */ 1253 DBGFREG enmReg; 1254 /** The size of the value in bytes. */ 1255 DBGFREGVALTYPE enmType; 1256 /** The register value. The valid view is indicated by enmType. */ 1257 union DBGFREGVAL 1258 { 1259 uint8_t u8; /**< The 8-bit view. */ 1260 uint16_t u16; /**< The 16-bit view. */ 1261 uint32_t u32; /**< The 32-bit view. */ 1262 uint64_t u64; /**< The 64-bit view. */ 1263 uint128_t u128; /**< The 128-bit view. */ 1264 long double lrd; /**< The long double view. */ 1265 /** GDTR or LDTR (DBGFREGVALTYPE_DTR). */ 1266 struct 1267 { 1268 /** The table address. */ 1269 uint64_t u64Base; 1270 /** The table limit (length minus 1). */ 1271 uint32_t u32Limit; 1272 } dtr; 1273 1274 uint8_t au8[16]; /**< The 8-bit array view. */ 1275 uint16_t au16[8]; /**< The 16-bit array view. */ 1276 uint32_t au32[4]; /**< The 32-bit array view. */ 1277 uint64_t au64[2]; /**< The 64-bit array view. */ 1278 RTUINT128U u; 1279 } Val; 1280 } DBGFREGENTRY; 1281 /** Pointer to a register entry in a batch operation. */ 1282 typedef DBGFREGENTRY *PDBGFREGENTRY; 1283 /** Pointer to a const register entry in a batch operation. */ 1284 typedef DBGFREGENTRY const *PCDBGFREGENTRY; 1207 1285 1208 1286 VMMR3DECL(int) DBGFR3RegQueryU8( PVM pVM, VMCPUID idCpu, DBGFREG enmReg, uint8_t *pu8); … … 1212 1290 VMMR3DECL(int) DBGFR3RegQueryU128(PVM pVM, VMCPUID idCpu, DBGFREG enmReg, uint128_t *pu128); 1213 1291 VMMR3DECL(int) DBGFR3RegQueryLrd( PVM pVM, VMCPUID idCpu, DBGFREG enmReg, long double *plrd); 1214 VMMR3DECL(int) DBGFR3RegQueryXdtr( PVM pVM, VMCPUID idCpu, DBGFREG enmReg, uint64_t *pu64Base, uint16_t *pu16Limit); 1215 1216 VMMR3DECL(int) DBGFR3RegSetU8( PVM pVM, VMCPUID idCpu, DBGFREG enmReg, uint8_t u8); 1217 VMMR3DECL(int) DBGFR3RegSetU16( PVM pVM, VMCPUID idCpu, DBGFREG enmReg, uint16_t u16); 1218 VMMR3DECL(int) DBGFR3RegSetU32( PVM pVM, VMCPUID idCpu, DBGFREG enmReg, uint32_t u32); 1219 VMMR3DECL(int) DBGFR3RegSetU64( PVM pVM, VMCPUID idCpu, DBGFREG enmReg, uint64_t u64); 1220 VMMR3DECL(int) DBGFR3RegSetU128(PVM pVM, VMCPUID idCpu, DBGFREG enmReg, uint128_t u128); 1221 VMMR3DECL(int) DBGFR3RegSetLrd( PVM pVM, VMCPUID idCpu, DBGFREG enmReg, long double lrd); 1292 VMMR3DECL(int) DBGFR3RegQueryXdtr(PVM pVM, VMCPUID idCpu, DBGFREG enmReg, uint64_t *pu64Base, uint16_t *pu16Limit); 1293 VMMR3DECL(int) DBGFR3RegQueryBatch(PVM pVM,VMCPUID idCpu, PDBGFREGENTRY paRegs, size_t cRegs); 1294 VMMR3DECL(int) DBGFR3RegQueryAll( PVM pVM, VMCPUID idCpu, PDBGFREGENTRY paRegs, size_t cRegs); 1295 1296 VMMR3DECL(int) DBGFR3RegSetU8( PVM pVM, VMCPUID idCpu, DBGFREG enmReg, uint8_t u8); 1297 VMMR3DECL(int) DBGFR3RegSetU16( PVM pVM, VMCPUID idCpu, DBGFREG enmReg, uint16_t u16); 1298 VMMR3DECL(int) DBGFR3RegSetU32( PVM pVM, VMCPUID idCpu, DBGFREG enmReg, uint32_t u32); 1299 VMMR3DECL(int) DBGFR3RegSetU64( PVM pVM, VMCPUID idCpu, DBGFREG enmReg, uint64_t u64); 1300 VMMR3DECL(int) DBGFR3RegSetU128( PVM pVM, VMCPUID idCpu, DBGFREG enmReg, uint128_t u128); 1301 VMMR3DECL(int) DBGFR3RegSetLrd( PVM pVM, VMCPUID idCpu, DBGFREG enmReg, long double lrd); 1302 VMMR3DECL(int) DBGFR3RegSetBatch( PVM pVM, VMCPUID idCpu, PCDBGFREGENTRY paRegs, size_t cbRegs); 1303 1304 VMMR3DECL(const char *) DBGFR3RegName(DBGFREG enmReg, DBGFREGVALTYPE enmType); 1222 1305 1223 1306
Note:
See TracChangeset
for help on using the changeset viewer.