Changeset 100183 in vbox for trunk/src/VBox/VMM/include
- Timestamp:
- Jun 15, 2023 9:04:04 PM (21 months ago)
- svn:sync-xref-src-repo-rev:
- 157889
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/include/IEMInternal.h
r100072 r100183 661 661 /** State mask. */ 662 662 #define IEMTB_F_STATE_MASK UINT32_C(0x0c000000) 663 /** State shift count. */ 664 #define IEMTB_F_STATE_SHIFT 26 663 665 /** State: Compiling. */ 664 666 #define IEMTB_F_STATE_COMPILING UINT32_C(0x04000000) … … 668 670 #define IEMTB_F_STATE_OBSOLETE UINT32_C(0x0c000000) 669 671 672 /** Checks that EIP/IP is wihin CS.LIM and that RIP is canonical before each 673 * instruction. Used when we're close the limit before starting a TB, as 674 * determined by iemGetTbFlagsForCurrentPc(). */ 675 #define IEMTB_F_RIP_CHECKS UINT32_C(0x0c000000) 676 670 677 /** Mask of the IEMTB_F_XXX flags that are part of the TB lookup key. 671 * @note We don't */ 672 #define IEMTB_F_KEY_MASK ((UINT32_C(0xffffffff) & ~IEM_F_X86_CTX_MASK) | IEM_F_X86_CTX_SMM) 678 * @note We skip the CPL as we don't currently generate ring-specific code, 679 * that's all handled in CIMPL functions. 680 * 681 * For the same reasons, we skip all of IEM_F_X86_CTX_MASK, with the 682 * exception of SMM (which we don't implement). */ 683 #define IEMTB_F_KEY_MASK ((UINT32_C(0xffffffff) & ~(IEM_F_X86_CTX_MASK | IEM_F_X86_CPL_MASK)) | IEM_F_X86_CTX_SMM) 673 684 /** @} */ 674 685 … … 980 991 * This can either be one being executed or one being compiled. */ 981 992 R3PTRTYPE(PIEMTB) pCurTbR3; 993 /** The PC (RIP) at the start of pCurTbR3/pCurTbR0. 994 * The TBs are based on physical addresses, so this is needed to correleated 995 * RIP to opcode bytes stored in the TB (AMD-V / VT-x). */ 996 uint64_t uCurTbStartPc; 997 /** Statistics: Number of TB allocation calls. */ 998 uint64_t cTbAllocs; 999 /** Statistics: Number of TB free calls. */ 1000 uint64_t cTbFrees; 1001 /** Whether to end the current TB. */ 1002 bool fEndTb; 982 1003 /** Spaced reserved for recompiler data / alignment. */ 983 uint64_t auRecompilerStuff[7]; 1004 bool afRecompilerStuff1[7]; 1005 /** Spaced reserved for recompiler data / alignment. */ 1006 uint64_t auRecompilerStuff2[3]; 984 1007 /** @} */ 985 1008
Note:
See TracChangeset
for help on using the changeset viewer.