Changeset 108368 in vbox for trunk/src/VBox/VMM/VMMAll
- Timestamp:
- Feb 25, 2025 1:17:32 PM (2 months ago)
- svn:sync-xref-src-repo-rev:
- 167729
- Location:
- trunk/src/VBox/VMM/VMMAll
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAll.cpp
r108278 r108368 194 194 195 195 /* Decoder state: */ 196 pVCpu->iem.s.enmDefAddrMode = fExec & IEM_F_MODE_ CPUMODE_MASK; /** @todo check if this is correct... */197 pVCpu->iem.s.enmEffAddrMode = fExec & IEM_F_MODE_ CPUMODE_MASK;198 if ((fExec & IEM_F_MODE_ CPUMODE_MASK) != IEMMODE_64BIT)199 { 200 pVCpu->iem.s.enmDefOpSize = fExec & IEM_F_MODE_ CPUMODE_MASK; /** @todo check if this is correct... */201 pVCpu->iem.s.enmEffOpSize = fExec & IEM_F_MODE_ CPUMODE_MASK;196 pVCpu->iem.s.enmDefAddrMode = fExec & IEM_F_MODE_X86_CPUMODE_MASK; /** @todo check if this is correct... */ 197 pVCpu->iem.s.enmEffAddrMode = fExec & IEM_F_MODE_X86_CPUMODE_MASK; 198 if ((fExec & IEM_F_MODE_X86_CPUMODE_MASK) != IEMMODE_64BIT) 199 { 200 pVCpu->iem.s.enmDefOpSize = fExec & IEM_F_MODE_X86_CPUMODE_MASK; /** @todo check if this is correct... */ 201 pVCpu->iem.s.enmEffOpSize = fExec & IEM_F_MODE_X86_CPUMODE_MASK; 202 202 } 203 203 else -
trunk/src/VBox/VMM/VMMAll/IEMAllN8veRecompiler.cpp
r108287 r108368 9373 9373 PCIEMTBDBG const pDbgInfo = pTb->pDbgInfo; 9374 9374 #endif 9375 DISCPUMODE enmGstCpuMode = (pTb->fFlags & IEM_F_MODE_ CPUMODE_MASK) == IEMMODE_16BIT ? DISCPUMODE_16BIT9376 : (pTb->fFlags & IEM_F_MODE_ CPUMODE_MASK) == IEMMODE_32BIT ? DISCPUMODE_32BIT9377 : DISCPUMODE_64BIT;9375 DISCPUMODE enmGstCpuMode = (pTb->fFlags & IEM_F_MODE_X86_CPUMODE_MASK) == IEMMODE_16BIT ? DISCPUMODE_16BIT 9376 : (pTb->fFlags & IEM_F_MODE_X86_CPUMODE_MASK) == IEMMODE_32BIT ? DISCPUMODE_32BIT 9377 : DISCPUMODE_64BIT; 9378 9378 #ifdef IEMNATIVE_WITH_TB_DEBUG_INFO 9379 9379 IEMNATIVDISASMSYMCTX SymCtx = { pVCpu, pTb, iemExecMemGetTbChunkCtx(pVCpu, pTb), pDbgInfo }; … … 9461 9461 szDisBuf, sizeof(szDisBuf))); 9462 9462 fExec = pDbgInfo->aEntries[iDbgEntry].GuestInstruction.fExec; 9463 enmGstCpuMode = (fExec & IEM_F_MODE_ CPUMODE_MASK) == IEMMODE_16BIT ? DISCPUMODE_16BIT9464 : (fExec & IEM_F_MODE_ CPUMODE_MASK) == IEMMODE_32BIT ? DISCPUMODE_32BIT9465 : DISCPUMODE_64BIT;9463 enmGstCpuMode = (fExec & IEM_F_MODE_X86_CPUMODE_MASK) == IEMMODE_16BIT ? DISCPUMODE_16BIT 9464 : (fExec & IEM_F_MODE_X86_CPUMODE_MASK) == IEMMODE_32BIT ? DISCPUMODE_32BIT 9465 : DISCPUMODE_64BIT; 9466 9466 } 9467 9467 -
trunk/src/VBox/VMM/VMMAll/IEMAllThrdPython.py
r108296 r108368 2486 2486 # 2487 2487 # Determine what we're switch on. 2488 # This ASSUMES that (IEM_F_MODE_X86_FLAT_OR_PRE_386_MASK | IEM_F_MODE_ CPUMODE_MASK) == 7!2488 # This ASSUMES that (IEM_F_MODE_X86_FLAT_OR_PRE_386_MASK | IEM_F_MODE_X86_CPUMODE_MASK) == 7! 2489 2489 # 2490 2490 fSimple = True; 2491 sSwitchValue = '(pVCpu->iem.s.fExec & (IEM_F_MODE_ CPUMODE_MASK | IEM_F_MODE_X86_FLAT_OR_PRE_386_MASK))';2491 sSwitchValue = '(pVCpu->iem.s.fExec & (IEM_F_MODE_X86_CPUMODE_MASK | IEM_F_MODE_X86_FLAT_OR_PRE_386_MASK))'; 2492 2492 if dByVari.keys() & self.kdVariationsWithNeedForPrefixCheck.keys(): 2493 sSwitchValue += ' | (pVCpu->iem.s.enmEffAddrMode == (pVCpu->iem.s.fExec & IEM_F_MODE_ CPUMODE_MASK) ? 0 : 8)';2493 sSwitchValue += ' | (pVCpu->iem.s.enmEffAddrMode == (pVCpu->iem.s.fExec & IEM_F_MODE_X86_CPUMODE_MASK) ? 0 : 8)'; 2494 2494 # Accesses via FS and GS and CS goes thru non-FLAT functions. (CS 2495 2495 # is not writable in 32-bit mode (at least), thus the penalty mode … … 3630 3630 # 3631 3631 oOut.write('\n'.join(self.generateLicenseHeader())); 3632 oOut.write('AssertCompile((IEM_F_MODE_X86_FLAT_OR_PRE_386_MASK | IEM_F_MODE_ CPUMODE_MASK) == 7);\n');3632 oOut.write('AssertCompile((IEM_F_MODE_X86_FLAT_OR_PRE_386_MASK | IEM_F_MODE_X86_CPUMODE_MASK) == 7);\n'); 3633 3633 3634 3634 # -
trunk/src/VBox/VMM/VMMAll/IEMAllThrdRecompiler.cpp
r108278 r108368 1588 1588 PCIEMTHRDEDCALLENTRY const paCalls = pTb->Thrd.paCalls; 1589 1589 uint32_t const cCalls = pTb->Thrd.cCalls; 1590 DISCPUMODE enmGstCpuMode = (pTb->fFlags & IEM_F_MODE_ CPUMODE_MASK) == IEMMODE_16BIT ? DISCPUMODE_16BIT1591 : (pTb->fFlags & IEM_F_MODE_ CPUMODE_MASK) == IEMMODE_32BIT ? DISCPUMODE_32BIT1592 : DISCPUMODE_64BIT;1590 DISCPUMODE enmGstCpuMode = (pTb->fFlags & IEM_F_MODE_X86_CPUMODE_MASK) == IEMMODE_16BIT ? DISCPUMODE_16BIT 1591 : (pTb->fFlags & IEM_F_MODE_X86_CPUMODE_MASK) == IEMMODE_32BIT ? DISCPUMODE_32BIT 1592 : DISCPUMODE_64BIT; 1593 1593 uint32_t fExec = pTb->fFlags & UINT32_C(0x00ffffff); 1594 1594 uint8_t idxRange = UINT8_MAX; -
trunk/src/VBox/VMM/VMMAll/target-x86/IEMAllN8veRecompFuncs-x86.h
r108313 r108368 1649 1649 iemNativeRegFreeTmp(pReNative, idxRegSsAttr); 1650 1650 offFixupJumpToUseOtherBitSp = off; 1651 if ((pReNative->fExec & IEM_F_MODE_ CPUMODE_MASK) == IEMMODE_32BIT)1651 if ((pReNative->fExec & IEM_F_MODE_X86_CPUMODE_MASK) == IEMMODE_32BIT) 1652 1652 { 1653 1653 off = iemNativeEmitJccToFixedEx(pCodeBuf, off, off /*8-bit suffices*/, kIemNativeInstrCond_e); /* jump if zero */ … … 1694 1694 #endif 1695 1695 iemNativeFixupFixedJump(pReNative, offFixupJumpToUseOtherBitSp, off); 1696 if ((pReNative->fExec & IEM_F_MODE_ CPUMODE_MASK) == IEMMODE_32BIT)1696 if ((pReNative->fExec & IEM_F_MODE_X86_CPUMODE_MASK) == IEMMODE_32BIT) 1697 1697 off = iemNativeEmitStackPushUse16Sp(pCodeBuf, off, idxRegRsp, idxRegEffSp, cbMem); 1698 1698 else … … 2390 2390 #endif 2391 2391 iemNativeFixupFixedJump(pReNative, offFixupJumpToUseOtherBitSp, off); 2392 if ((pReNative->fExec & IEM_F_MODE_ CPUMODE_MASK) == IEMMODE_32BIT)2392 if ((pReNative->fExec & IEM_F_MODE_X86_CPUMODE_MASK) == IEMMODE_32BIT) 2393 2393 off = iemNativeEmitStackPopForRetnUse16Sp(pCodeBuf, off, idxRegRsp, idxRegEffSp, cbMem, cbPopArgs, 2394 2394 idxRegMemResult); … … 8275 8275 iemNativeRegFreeTmp(pReNative, idxRegSsAttr); 8276 8276 offFixupJumpToUseOtherBitSp = off; 8277 if ((pReNative->fExec & IEM_F_MODE_ CPUMODE_MASK) == IEMMODE_32BIT)8277 if ((pReNative->fExec & IEM_F_MODE_X86_CPUMODE_MASK) == IEMMODE_32BIT) 8278 8278 { 8279 8279 off = iemNativeEmitJccToFixedEx(pCodeBuf, off, off /*8-bit suffices*/, kIemNativeInstrCond_e); /* jump if zero */ … … 8325 8325 #endif 8326 8326 iemNativeFixupFixedJump(pReNative, offFixupJumpToUseOtherBitSp, off); 8327 if ((pReNative->fExec & IEM_F_MODE_ CPUMODE_MASK) == IEMMODE_32BIT)8327 if ((pReNative->fExec & IEM_F_MODE_X86_CPUMODE_MASK) == IEMMODE_32BIT) 8328 8328 off = iemNativeEmitStackPushUse16Sp(pCodeBuf, off, idxRegRsp, idxRegEffSp, cbMem); 8329 8329 else … … 8657 8657 iemNativeRegFreeTmp(pReNative, idxRegSsAttr); 8658 8658 offFixupJumpToUseOtherBitSp = off; 8659 if ((pReNative->fExec & IEM_F_MODE_ CPUMODE_MASK) == IEMMODE_32BIT)8659 if ((pReNative->fExec & IEM_F_MODE_X86_CPUMODE_MASK) == IEMMODE_32BIT) 8660 8660 { 8661 8661 /** @todo can skip idxRegRsp updating when popping ESP. */ … … 8701 8701 #endif 8702 8702 iemNativeFixupFixedJump(pReNative, offFixupJumpToUseOtherBitSp, off); 8703 if ((pReNative->fExec & IEM_F_MODE_ CPUMODE_MASK) == IEMMODE_32BIT)8703 if ((pReNative->fExec & IEM_F_MODE_X86_CPUMODE_MASK) == IEMMODE_32BIT) 8704 8704 off = iemNativeEmitStackPopUse16Sp(pCodeBuf, off, idxRegRsp, idxRegEffSp, cbMem, idxRegMemResult); 8705 8705 else -
trunk/src/VBox/VMM/VMMAll/target-x86/IEMInternal-x86.h
r108298 r108368 2398 2398 * @param a_pVCpu The cross context virtual CPU structure of the calling thread. 2399 2399 */ 2400 #define IEM_GET_CPU_MODE(a_pVCpu) ((a_pVCpu)->iem.s.fExec & IEM_F_MODE_ CPUMODE_MASK)2400 #define IEM_GET_CPU_MODE(a_pVCpu) ((a_pVCpu)->iem.s.fExec & IEM_F_MODE_X86_CPUMODE_MASK) 2401 2401 2402 2402 /**
Note:
See TracChangeset
for help on using the changeset viewer.