Changeset 41744 in vbox for trunk/src/VBox/VMM/VMMAll
- Timestamp:
- Jun 15, 2012 2:29:09 AM (13 years ago)
- svn:sync-xref-src-repo-rev:
- 78552
- Location:
- trunk/src/VBox/VMM/VMMAll
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/EMAll.cpp
r41739 r41744 879 879 { 880 880 case 1: //special case for AH etc 881 rc = DISWriteReg8(pRegFrame, pDis->Param1. base.reg_gen, (uint8_t )valpar2); break;882 case 2: rc = DISWriteReg16(pRegFrame, pDis->Param1. base.reg_gen, (uint16_t)valpar2); break;883 case 4: rc = DISWriteReg32(pRegFrame, pDis->Param1. base.reg_gen, (uint32_t)valpar2); break;884 case 8: rc = DISWriteReg64(pRegFrame, pDis->Param1. base.reg_gen, valpar2); break;881 rc = DISWriteReg8(pRegFrame, pDis->Param1.Base.idxGenReg, (uint8_t )valpar2); break; 882 case 2: rc = DISWriteReg16(pRegFrame, pDis->Param1.Base.idxGenReg, (uint16_t)valpar2); break; 883 case 4: rc = DISWriteReg32(pRegFrame, pDis->Param1.Base.idxGenReg, (uint32_t)valpar2); break; 884 case 8: rc = DISWriteReg64(pRegFrame, pDis->Param1.Base.idxGenReg, valpar2); break; 885 885 default: AssertFailedReturn(VERR_EM_INTERPRETER); 886 886 } … … 905 905 { 906 906 case 1: //special case for AH etc 907 rc = DISWriteReg8(pRegFrame, pDis->Param2. base.reg_gen, (uint8_t )valpar1); break;908 case 2: rc = DISWriteReg16(pRegFrame, pDis->Param2. base.reg_gen, (uint16_t)valpar1); break;909 case 4: rc = DISWriteReg32(pRegFrame, pDis->Param2. base.reg_gen, (uint32_t)valpar1); break;910 case 8: rc = DISWriteReg64(pRegFrame, pDis->Param2. base.reg_gen, valpar1); break;907 rc = DISWriteReg8(pRegFrame, pDis->Param2.Base.idxGenReg, (uint8_t )valpar1); break; 908 case 2: rc = DISWriteReg16(pRegFrame, pDis->Param2.Base.idxGenReg, (uint16_t)valpar1); break; 909 case 4: rc = DISWriteReg32(pRegFrame, pDis->Param2.Base.idxGenReg, (uint32_t)valpar1); break; 910 case 8: rc = DISWriteReg64(pRegFrame, pDis->Param2.Base.idxGenReg, valpar1); break; 911 911 default: AssertFailedReturn(VERR_EM_INTERPRETER); 912 912 } … … 1051 1051 if ( (pDis->Param1.fUse & DISUSE_BASE) 1052 1052 && (pDis->Param1.fUse & (DISUSE_REG_GEN16|DISUSE_REG_GEN32)) 1053 && pDis->Param1. base.reg_gen== DISGREG_ESP1053 && pDis->Param1.Base.idxGenReg == DISGREG_ESP 1054 1054 ) 1055 1055 pParam1 = (RTGCPTR)((RTGCUINTPTR)pParam1 + param1.size); … … 1609 1609 switch(param1.size) 1610 1610 { 1611 case 1: rc = DISWriteReg8(pRegFrame, pDis->Param1. base.reg_gen, (uint8_t) val64); break;1612 case 2: rc = DISWriteReg16(pRegFrame, pDis->Param1. base.reg_gen, (uint16_t)val64); break;1613 case 4: rc = DISWriteReg32(pRegFrame, pDis->Param1. base.reg_gen, (uint32_t)val64); break;1614 case 8: rc = DISWriteReg64(pRegFrame, pDis->Param1. base.reg_gen, val64); break;1611 case 1: rc = DISWriteReg8(pRegFrame, pDis->Param1.Base.idxGenReg, (uint8_t) val64); break; 1612 case 2: rc = DISWriteReg16(pRegFrame, pDis->Param1.Base.idxGenReg, (uint16_t)val64); break; 1613 case 4: rc = DISWriteReg32(pRegFrame, pDis->Param1.Base.idxGenReg, (uint32_t)val64); break; 1614 case 8: rc = DISWriteReg64(pRegFrame, pDis->Param1.Base.idxGenReg, val64); break; 1615 1615 default: 1616 1616 return VERR_EM_INTERPRETER; … … 2428 2428 if(param1.size != sizeof(uint16_t)) 2429 2429 return VERR_EM_INTERPRETER; 2430 LogFlow(("emInterpretSmsw %d <- cr0 (%x)\n", pDis->Param1. base.reg_gen, cr0));2431 rc = DISWriteReg16(pRegFrame, pDis->Param1. base.reg_gen, cr0);2430 LogFlow(("emInterpretSmsw %d <- cr0 (%x)\n", pDis->Param1.Base.idxGenReg, cr0)); 2431 rc = DISWriteReg16(pRegFrame, pDis->Param1.Base.idxGenReg, cr0); 2432 2432 break; 2433 2433 … … 2469 2469 NOREF(pvFault); NOREF(pcbSize); 2470 2470 if ((pDis->Param1.fUse == DISUSE_REG_GEN32 || pDis->Param1.fUse == DISUSE_REG_GEN64) && pDis->Param2.fUse == DISUSE_REG_CR) 2471 return EMInterpretCRxRead(pVM, pVCpu, pRegFrame, pDis->Param1. base.reg_gen, pDis->Param2.base.reg_ctrl);2471 return EMInterpretCRxRead(pVM, pVCpu, pRegFrame, pDis->Param1.Base.idxGenReg, pDis->Param2.Base.idxCtrlReg); 2472 2472 2473 2473 if (pDis->Param1.fUse == DISUSE_REG_CR && (pDis->Param2.fUse == DISUSE_REG_GEN32 || pDis->Param2.fUse == DISUSE_REG_GEN64)) 2474 return EMInterpretCRxWrite(pVM, pVCpu, pRegFrame, pDis->Param1. base.reg_ctrl, pDis->Param2.base.reg_gen);2474 return EMInterpretCRxWrite(pVM, pVCpu, pRegFrame, pDis->Param1.Base.idxCtrlReg, pDis->Param2.Base.idxGenReg); 2475 2475 2476 2476 AssertMsgFailedReturn(("Unexpected control register move\n"), VERR_EM_INTERPRETER); … … 2560 2560 if((pDis->Param1.fUse == DISUSE_REG_GEN32 || pDis->Param1.fUse == DISUSE_REG_GEN64) && pDis->Param2.fUse == DISUSE_REG_DBG) 2561 2561 { 2562 rc = EMInterpretDRxRead(pVM, pVCpu, pRegFrame, pDis->Param1. base.reg_gen, pDis->Param2.base.reg_dbg);2562 rc = EMInterpretDRxRead(pVM, pVCpu, pRegFrame, pDis->Param1.Base.idxGenReg, pDis->Param2.Base.idxDbgReg); 2563 2563 } 2564 2564 else 2565 2565 if(pDis->Param1.fUse == DISUSE_REG_DBG && (pDis->Param2.fUse == DISUSE_REG_GEN32 || pDis->Param2.fUse == DISUSE_REG_GEN64)) 2566 2566 { 2567 rc = EMInterpretDRxWrite(pVM, pVCpu, pRegFrame, pDis->Param1. base.reg_dbg, pDis->Param2.base.reg_gen);2567 rc = EMInterpretDRxWrite(pVM, pVCpu, pRegFrame, pDis->Param1.Base.idxDbgReg, pDis->Param2.Base.idxGenReg); 2568 2568 } 2569 2569 else -
trunk/src/VBox/VMM/VMMAll/IOMAll.cpp
r41741 r41744 81 81 { 82 82 *pcbSize = 4; 83 DISFetchReg32(pRegFrame, pParam-> base.reg_gen, (uint32_t *)pu64Data);83 DISFetchReg32(pRegFrame, pParam->Base.idxGenReg, (uint32_t *)pu64Data); 84 84 return true; 85 85 } … … 88 88 { 89 89 *pcbSize = 2; 90 DISFetchReg16(pRegFrame, pParam-> base.reg_gen, (uint16_t *)pu64Data);90 DISFetchReg16(pRegFrame, pParam->Base.idxGenReg, (uint16_t *)pu64Data); 91 91 return true; 92 92 } … … 95 95 { 96 96 *pcbSize = 1; 97 DISFetchReg8(pRegFrame, pParam-> base.reg_gen, (uint8_t *)pu64Data);97 DISFetchReg8(pRegFrame, pParam->Base.idxGenReg, (uint8_t *)pu64Data); 98 98 return true; 99 99 } … … 101 101 Assert(pParam->fUse & DISUSE_REG_GEN64); 102 102 *pcbSize = 8; 103 DISFetchReg64(pRegFrame, pParam-> base.reg_gen, pu64Data);103 DISFetchReg64(pRegFrame, pParam->Base.idxGenReg, pu64Data); 104 104 return true; 105 105 } … … 137 137 { 138 138 *pcbSize = 2; 139 DISFetchRegSeg(pRegFrame, (DISSELREG)pParam-> base.reg_seg, (RTSEL *)pu64Data);139 DISFetchRegSeg(pRegFrame, (DISSELREG)pParam->Base.idxSegReg, (RTSEL *)pu64Data); 140 140 return true; 141 141 } /* Else - error. */ … … 169 169 if (pParam->fUse & DISUSE_REG_GEN32) 170 170 { 171 DISWriteReg32(pRegFrame, pParam-> base.reg_gen, (uint32_t)u64Data);171 DISWriteReg32(pRegFrame, pParam->Base.idxGenReg, (uint32_t)u64Data); 172 172 return true; 173 173 } … … 175 175 if (pParam->fUse & DISUSE_REG_GEN64) 176 176 { 177 DISWriteReg64(pRegFrame, pParam-> base.reg_gen, u64Data);177 DISWriteReg64(pRegFrame, pParam->Base.idxGenReg, u64Data); 178 178 return true; 179 179 } … … 181 181 if (pParam->fUse & DISUSE_REG_GEN16) 182 182 { 183 DISWriteReg16(pRegFrame, pParam-> base.reg_gen, (uint16_t)u64Data);183 DISWriteReg16(pRegFrame, pParam->Base.idxGenReg, (uint16_t)u64Data); 184 184 return true; 185 185 } … … 187 187 if (pParam->fUse & DISUSE_REG_GEN8) 188 188 { 189 DISWriteReg8(pRegFrame, pParam-> base.reg_gen, (uint8_t)u64Data);189 DISWriteReg8(pRegFrame, pParam->Base.idxGenReg, (uint8_t)u64Data); 190 190 return true; 191 191 } … … 193 193 if (pParam->fUse & DISUSE_REG_SEG) 194 194 { 195 DISWriteRegSeg(pRegFrame, (DISSELREG)pParam-> base.reg_seg, (RTSEL)u64Data);195 DISWriteRegSeg(pRegFrame, (DISSELREG)pParam->Base.idxSegReg, (RTSEL)u64Data); 196 196 return true; 197 197 } -
trunk/src/VBox/VMM/VMMAll/PGMAllPool.cpp
r41739 r41744 761 761 #endif 762 762 763 LogFlow(("Reused instr %RGv %d at %RGv param1.fUse=%llx param1.reg=%d\n", pRegFrame->rip, pDis->pCurInstr->uOpcode, pvFault, pDis->Param1.fUse, pDis->Param1. base.reg_gen));763 LogFlow(("Reused instr %RGv %d at %RGv param1.fUse=%llx param1.reg=%d\n", pRegFrame->rip, pDis->pCurInstr->uOpcode, pvFault, pDis->Param1.fUse, pDis->Param1.Base.idxGenReg)); 764 764 765 765 /* Non-supervisor mode write means it's used for something else. */ … … 806 806 if ( ( (pDis->Param1.fUse & DISUSE_REG_GEN32) 807 807 || (pDis->Param1.fUse & DISUSE_REG_GEN64)) 808 && (pDis->Param1. base.reg_gen== DISGREG_ESP))808 && (pDis->Param1.Base.idxGenReg == DISGREG_ESP)) 809 809 { 810 810 Log4(("pgmPoolMonitorIsReused: ESP\n"));
Note:
See TracChangeset
for help on using the changeset viewer.