Changeset 61775 in vbox for trunk/src/VBox/VMM/include/HMInternal.h
- Timestamp:
- Jun 20, 2016 9:56:30 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/include/HMInternal.h
r61703 r61775 335 335 /** Pointer to HMTPRPATCH. */ 336 336 typedef HMTPRPATCH *PHMTPRPATCH; 337 338 339 /** 340 * Makes a HMEXITSTAT::uKey value from a program counter and an exit code. 341 * 342 * @returns 64-bit key 343 * @param a_uPC The RIP + CS.BASE value of the exit. 344 * @param a_uExit The exit code. 345 * @todo Add CPL? 346 */ 347 #define HMEXITSTAT_MAKE_KEY(a_uPC, a_uExit) (((a_uPC) & UINT64_C(0x0000ffffffffffff)) | (uint64_t)(a_uExit) << 48) 348 349 typedef struct HMEXITINFO 350 { 351 /** See HMEXITSTAT_MAKE_KEY(). */ 352 uint64_t uKey; 353 /** Number of recent hits (depreciates with time). */ 354 uint32_t volatile cHits; 355 /** The age + lock. */ 356 uint16_t volatile uAge; 357 /** Action or action table index. */ 358 uint16_t iAction; 359 } HMEXITINFO; 360 AssertCompileSize(HMEXITINFO, 16); /* Lots of these guys, so don't add any unnecessary stuff! */ 361 362 typedef struct HMEXITHISTORY 363 { 364 /** The exit timestamp. */ 365 uint64_t uTscExit; 366 /** The index of the corresponding HMEXITINFO entry. 367 * UINT32_MAX if none (too many collisions, race, whatever). */ 368 uint32_t iExitInfo; 369 /** Figure out later, needed for padding now. */ 370 uint32_t uSomeClueOrSomething; 371 } HMEXITHISTORY; 337 372 338 373 /**
Note:
See TracChangeset
for help on using the changeset viewer.