Changeset 41736 in vbox for trunk/src/VBox/VMM
- Timestamp:
- Jun 15, 2012 12:39:37 AM (13 years ago)
- svn:sync-xref-src-repo-rev:
- 78544
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/EMAll.cpp
r41735 r41736 364 364 State.GCPtr = NIL_RTGCPTR; 365 365 } 366 return DISInstrWithReader(InstrGC, (DISCPUMODE)pDis-> mode, emReadBytes, &State, pDis, pOpsize);366 return DISInstrWithReader(InstrGC, (DISCPUMODE)pDis->uCpuMode, emReadBytes, &State, pDis, pOpsize); 367 367 } 368 368 … … 377 377 State.GCPtr = InstrGC; 378 378 379 return DISInstrWithReader(InstrGC, (DISCPUMODE)pDis-> mode, emReadBytes, &State, pDis, pOpsize);379 return DISInstrWithReader(InstrGC, (DISCPUMODE)pDis->uCpuMode, emReadBytes, &State, pDis, pOpsize); 380 380 } 381 381 … … 503 503 uint32_t cbOp; 504 504 PDISCPUSTATE pDis = &pVCpu->em.s.DisState; 505 pDis-> mode = SELMGetCpuModeFromSelector(pVCpu, pRegFrame->eflags, pRegFrame->cs, &pRegFrame->csHid);505 pDis->uCpuMode = SELMGetCpuModeFromSelector(pVCpu, pRegFrame->eflags, pRegFrame->cs, &pRegFrame->csHid); 506 506 rc = emDisCoreOne(pVCpu->CTX_SUFF(pVM), pVCpu, pDis, (RTGCUINTPTR)pbCode, &cbOp); 507 507 if (RT_SUCCESS(rc)) … … 557 557 uint32_t cbOp; 558 558 PDISCPUSTATE pDis = &pVCpu->em.s.DisState; 559 pDis-> mode = SELMGetCpuModeFromSelector(pVCpu, pRegFrame->eflags, pRegFrame->cs, &pRegFrame->csHid);559 pDis->uCpuMode = SELMGetCpuModeFromSelector(pVCpu, pRegFrame->eflags, pRegFrame->cs, &pRegFrame->csHid); 560 560 rc = emDisCoreOne(pVCpu->CTX_SUFF(pVM), pVCpu, pDis, (RTGCUINTPTR)pbCode, &cbOp); 561 561 if (RT_SUCCESS(rc)) … … 1009 1009 static int emInterpretPop(PVM pVM, PVMCPU pVCpu, PDISCPUSTATE pDis, PCPUMCTXCORE pRegFrame, RTGCPTR pvFault, uint32_t *pcbSize) 1010 1010 { 1011 Assert(pDis-> mode != DISCPUMODE_64BIT); /** @todo check */1011 Assert(pDis->uCpuMode != DISCPUMODE_64BIT); /** @todo check */ 1012 1012 DISQPVPARAMVAL param1; 1013 1013 NOREF(pvFault); … … 1561 1561 } 1562 1562 #ifdef LOG_ENABLED 1563 if (pDis-> mode == DISCPUMODE_64BIT)1563 if (pDis->uCpuMode == DISCPUMODE_64BIT) 1564 1564 LogFlow(("EMInterpretInstruction at %RGv: OP_MOV %RGv <- %RX64 (%d) &val64=%RHv\n", (RTGCPTR)pRegFrame->rip, pDest, val64, param2.size, &val64)); 1565 1565 else … … 1624 1624 } 1625 1625 #ifdef LOG_ENABLED 1626 if (pDis-> mode == DISCPUMODE_64BIT)1626 if (pDis->uCpuMode == DISCPUMODE_64BIT) 1627 1627 LogFlow(("EMInterpretInstruction: OP_MOV %RGv -> %RX64 (%d)\n", pSrc, val64, param1.size)); 1628 1628 else … … 1870 1870 static int emInterpretCmpXchg8b(PVM pVM, PVMCPU pVCpu, PDISCPUSTATE pDis, PCPUMCTXCORE pRegFrame, RTGCPTR pvFault, uint32_t *pcbSize) 1871 1871 { 1872 Assert(pDis-> mode != DISCPUMODE_64BIT); /** @todo check */1872 Assert(pDis->uCpuMode != DISCPUMODE_64BIT); /** @todo check */ 1873 1873 DISQPVPARAMVAL param1; 1874 1874 NOREF(pvFault); … … 1924 1924 static int emInterpretXAdd(PVM pVM, PVMCPU pVCpu, PDISCPUSTATE pDis, PCPUMCTXCORE pRegFrame, RTGCPTR pvFault, uint32_t *pcbSize) 1925 1925 { 1926 Assert(pDis-> mode != DISCPUMODE_64BIT); /** @todo check */1926 Assert(pDis->uCpuMode != DISCPUMODE_64BIT); /** @todo check */ 1927 1927 DISQPVPARAMVAL param1; 1928 1928 void *pvParamReg2; -
trunk/src/VBox/VMM/VMMAll/PGMAllPhys.cpp
r41734 r41736 107 107 rc = EMInterpretDisasOne(pVM, pVCpu, pRegFrame, pDis, &cbOp); 108 108 if ( RT_SUCCESS(rc) 109 && pDis-> mode == DISCPUMODE_32BIT /** @todo why does this matter? */109 && pDis->uCpuMode == DISCPUMODE_32BIT /** @todo why does this matter? */ 110 110 && !(pDis->fPrefix & (DISPREFIX_REPNE | DISPREFIX_REP | DISPREFIX_SEG))) 111 111 { -
trunk/src/VBox/VMM/VMMAll/PGMAllPool.cpp
r41735 r41736 797 797 ) 798 798 { 799 Assert(pDis-> mode == DISCPUMODE_64BIT);799 Assert(pDis->uCpuMode == DISCPUMODE_64BIT); 800 800 801 801 Log(("pgmPoolMonitorIsReused: OP_STOSQ\n")); … … 890 890 NOREF(pVM); 891 891 892 Assert(pDis-> mode == DISCPUMODE_32BIT || pDis->mode == DISCPUMODE_64BIT);892 Assert(pDis->uCpuMode == DISCPUMODE_32BIT || pDis->uCpuMode == DISCPUMODE_64BIT); 893 893 Assert(pRegFrame->rcx <= 0x20); 894 894 … … 1198 1198 if ( pDis->pCurInstr->opcode == OP_STOSWD 1199 1199 && !pRegFrame->eflags.Bits.u1DF 1200 && pDis->uOpMode == pDis-> mode1201 && pDis->uAddrMode == pDis-> mode)1200 && pDis->uOpMode == pDis->uCpuMode 1201 && pDis->uAddrMode == pDis->uCpuMode) 1202 1202 { 1203 1203 bool fValidStosd = false; 1204 1204 1205 if ( pDis-> mode == DISCPUMODE_32BIT1205 if ( pDis->uCpuMode == DISCPUMODE_32BIT 1206 1206 && pDis->fPrefix == DISPREFIX_REP 1207 1207 && pRegFrame->ecx <= 0x20 … … 1215 1215 } 1216 1216 else 1217 if ( pDis-> mode == DISCPUMODE_64BIT1217 if ( pDis->uCpuMode == DISCPUMODE_64BIT 1218 1218 && pDis->fPrefix == (DISPREFIX_REP | DISPREFIX_REX) 1219 1219 && pRegFrame->rcx <= 0x20 -
trunk/src/VBox/VMM/VMMR0/HWSVMR0.cpp
r41735 r41736 2982 2982 PDISCPUSTATE pDis = &pVCpu->hwaccm.s.DisState; 2983 2983 2984 pDis-> mode = enmMode;2984 pDis->uCpuMode = enmMode; 2985 2985 rc = EMInterpretDisasOneEx(pVM, pVCpu, pbCode, pRegFrame, pDis, &cbOp); 2986 2986 Assert(RT_FAILURE(rc) || pDis->pCurInstr->opcode == OP_INVLPG); -
trunk/src/VBox/VMM/VMMR3/PATM.cpp
r41734 r41736 3189 3189 PPATCHINFO pPatch = &pPatchRec->patch; 3190 3190 int rc = VERR_PATCHING_REFUSED; 3191 DISCPUSTATE cpu;3192 3191 uint32_t orgOffsetPatchMem = ~0; 3193 3192 bool fInserted; … … 3215 3214 pPatch->pPatchBlockOffset = pVM->patm.s.offPatchMem; 3216 3215 pPatch->uCurPatchOffset = 0; 3217 3218 cpu.mode = (pPatch->flags & PATMFL_CODE32) ? DISCPUMODE_32BIT : DISCPUMODE_16BIT;3219 3216 3220 3217 /* Note: Set the PATM interrupt flag here; it was cleared before the patched call. (!!!) */ … … 6453 6450 if (disret && (cpu.pCurInstr->opcode == OP_SYSEXIT || cpu.pCurInstr->opcode == OP_HLT || cpu.pCurInstr->opcode == OP_INT3)) 6454 6451 { 6455 cpu.mode = (pPatch->patch.flags & PATMFL_CODE32) ? DISCPUMODE_32BIT : DISCPUMODE_16BIT;6456 6452 disret = patmR3DisInstr(pVM, &pPatch->patch, pNewEip, PATMGCVirtToHCVirt(pVM, &cacheRec, pNewEip), PATMREAD_RAWCODE, 6457 6453 &cpu, &cbInstr); -
trunk/src/VBox/VMM/VMMRC/PATMRC.cpp
r41692 r41736 510 510 } 511 511 512 cpu.mode = SELMGetCpuModeFromSelector(VMMGetCpu0(pVM), pRegFrame->eflags, pRegFrame->cs, 0);513 if ( cpu.mode != DISCPUMODE_32BIT)512 DISCPUMODE enmCpuMode = SELMGetCpuModeFromSelector(VMMGetCpu0(pVM), pRegFrame->eflags, pRegFrame->cs, 0); 513 if (enmCpuMode != DISCPUMODE_32BIT) 514 514 { 515 515 AssertFailed(); … … 523 523 rc = VBOXSTRICTRC_TODO(rcStrict); 524 524 #else 525 rc = DISInstr(&pRec->patch.aPrivInstr[0], (DISCPUMODE)cpu.mode, &cpu, &cbOp);525 rc = DISInstr(&pRec->patch.aPrivInstr[0], enmCpuMode, &cpu, &cbOp); 526 526 if (RT_FAILURE(rc)) 527 527 {
Note:
See TracChangeset
for help on using the changeset viewer.