- Timestamp:
- Jun 15, 2012 1:50:13 AM (13 years ago)
- Location:
- trunk/src/VBox
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Disassembler/DisasmCore.cpp
r41740 r41741 1164 1164 { 1165 1165 NOREF(pOp); 1166 pParam-> parval= disReadByte(pCpu, uCodePtr);1166 pParam->uValue = disReadByte(pCpu, uCodePtr); 1167 1167 pParam->fUse |= DISUSE_IMMEDIATE8; 1168 1168 pParam->cb = sizeof(uint8_t); … … 1183 1183 if (pCpu->uOpMode == DISCPUMODE_32BIT) 1184 1184 { 1185 pParam-> parval= (uint32_t)(int8_t)disReadByte(pCpu, uCodePtr);1185 pParam->uValue = (uint32_t)(int8_t)disReadByte(pCpu, uCodePtr); 1186 1186 pParam->fUse |= DISUSE_IMMEDIATE32_SX8; 1187 1187 pParam->cb = sizeof(uint32_t); … … 1190 1190 if (pCpu->uOpMode == DISCPUMODE_64BIT) 1191 1191 { 1192 pParam-> parval= (uint64_t)(int8_t)disReadByte(pCpu, uCodePtr);1192 pParam->uValue = (uint64_t)(int8_t)disReadByte(pCpu, uCodePtr); 1193 1193 pParam->fUse |= DISUSE_IMMEDIATE64_SX8; 1194 1194 pParam->cb = sizeof(uint64_t); … … 1196 1196 else 1197 1197 { 1198 pParam-> parval= (uint16_t)(int8_t)disReadByte(pCpu, uCodePtr);1198 pParam->uValue = (uint16_t)(int8_t)disReadByte(pCpu, uCodePtr); 1199 1199 pParam->fUse |= DISUSE_IMMEDIATE16_SX8; 1200 1200 pParam->cb = sizeof(uint16_t); … … 1214 1214 { 1215 1215 NOREF(pOp); 1216 pParam-> parval= disReadWord(pCpu, uCodePtr);1216 pParam->uValue = disReadWord(pCpu, uCodePtr); 1217 1217 pParam->fUse |= DISUSE_IMMEDIATE16; 1218 1218 pParam->cb = sizeof(uint16_t); … … 1231 1231 { 1232 1232 NOREF(pOp); 1233 pParam-> parval= disReadDWord(pCpu, uCodePtr);1233 pParam->uValue = disReadDWord(pCpu, uCodePtr); 1234 1234 pParam->fUse |= DISUSE_IMMEDIATE32; 1235 1235 pParam->cb = sizeof(uint32_t); … … 1248 1248 { 1249 1249 NOREF(pOp); 1250 pParam-> parval= disReadQWord(pCpu, uCodePtr);1250 pParam->uValue = disReadQWord(pCpu, uCodePtr); 1251 1251 pParam->fUse |= DISUSE_IMMEDIATE64; 1252 1252 pParam->cb = sizeof(uint64_t); … … 1267 1267 if (pCpu->uOpMode == DISCPUMODE_32BIT) 1268 1268 { 1269 pParam-> parval= disReadDWord(pCpu, uCodePtr);1269 pParam->uValue = disReadDWord(pCpu, uCodePtr); 1270 1270 pParam->fUse |= DISUSE_IMMEDIATE32; 1271 1271 pParam->cb = sizeof(uint32_t); … … 1275 1275 if (pCpu->uOpMode == DISCPUMODE_64BIT) 1276 1276 { 1277 pParam-> parval= disReadQWord(pCpu, uCodePtr);1277 pParam->uValue = disReadQWord(pCpu, uCodePtr); 1278 1278 pParam->fUse |= DISUSE_IMMEDIATE64; 1279 1279 pParam->cb = sizeof(uint64_t); … … 1281 1281 } 1282 1282 1283 pParam-> parval= disReadWord(pCpu, uCodePtr);1283 pParam->uValue = disReadWord(pCpu, uCodePtr); 1284 1284 pParam->fUse |= DISUSE_IMMEDIATE16; 1285 1285 pParam->cb = sizeof(uint16_t); … … 1305 1305 if (pCpu->uOpMode == DISCPUMODE_16BIT) 1306 1306 { 1307 pParam-> parval= disReadWord(pCpu, uCodePtr);1307 pParam->uValue = disReadWord(pCpu, uCodePtr); 1308 1308 pParam->fUse |= DISUSE_IMMEDIATE16; 1309 1309 pParam->cb = sizeof(uint16_t); … … 1314 1314 if (pCpu->uOpMode == DISCPUMODE_64BIT) 1315 1315 { 1316 pParam-> parval= (uint64_t)(int32_t)disReadDWord(pCpu, uCodePtr);1316 pParam->uValue = (uint64_t)(int32_t)disReadDWord(pCpu, uCodePtr); 1317 1317 pParam->fUse |= DISUSE_IMMEDIATE64; 1318 1318 pParam->cb = sizeof(uint64_t); … … 1320 1320 else 1321 1321 { 1322 pParam-> parval= disReadDWord(pCpu, uCodePtr);1322 pParam->uValue = disReadDWord(pCpu, uCodePtr); 1323 1323 pParam->fUse |= DISUSE_IMMEDIATE32; 1324 1324 pParam->cb = sizeof(uint32_t); … … 1343 1343 { 1344 1344 NOREF(pOp); 1345 pParam-> parval= disReadByte(pCpu, uCodePtr);1345 pParam->uValue = disReadByte(pCpu, uCodePtr); 1346 1346 pParam->fUse |= DISUSE_IMMEDIATE8_REL; 1347 1347 pParam->cb = sizeof(uint8_t); … … 1364 1364 if (pCpu->uOpMode == DISCPUMODE_32BIT) 1365 1365 { 1366 pParam-> parval= disReadDWord(pCpu, uCodePtr);1366 pParam->uValue = disReadDWord(pCpu, uCodePtr); 1367 1367 pParam->fUse |= DISUSE_IMMEDIATE32_REL; 1368 1368 pParam->cb = sizeof(int32_t); … … 1373 1373 { 1374 1374 /* 32 bits relative immediate sign extended to 64 bits. */ 1375 pParam-> parval= (uint64_t)(int32_t)disReadDWord(pCpu, uCodePtr);1375 pParam->uValue = (uint64_t)(int32_t)disReadDWord(pCpu, uCodePtr); 1376 1376 pParam->fUse |= DISUSE_IMMEDIATE64_REL; 1377 1377 pParam->cb = sizeof(int64_t); … … 1379 1379 } 1380 1380 1381 pParam-> parval= disReadWord(pCpu, uCodePtr);1381 pParam->uValue = disReadWord(pCpu, uCodePtr); 1382 1382 pParam->fUse |= DISUSE_IMMEDIATE16_REL; 1383 1383 pParam->cb = sizeof(int16_t); … … 1404 1404 { 1405 1405 /* far 16:32 pointer */ 1406 pParam-> parval= disReadDWord(pCpu, uCodePtr);1407 *((uint32_t*)&pParam-> parval+1) = disReadWord(pCpu, uCodePtr+sizeof(uint32_t));1406 pParam->uValue = disReadDWord(pCpu, uCodePtr); 1407 *((uint32_t*)&pParam->uValue+1) = disReadWord(pCpu, uCodePtr+sizeof(uint32_t)); 1408 1408 pParam->fUse |= DISUSE_IMMEDIATE_ADDR_16_32; 1409 1409 pParam->cb = sizeof(uint16_t) + sizeof(uint32_t); … … 1440 1440 { 1441 1441 /* far 16:16 pointer */ 1442 pParam-> parval= disReadDWord(pCpu, uCodePtr);1442 pParam->uValue = disReadDWord(pCpu, uCodePtr); 1443 1443 pParam->fUse |= DISUSE_IMMEDIATE_ADDR_16_16; 1444 1444 pParam->cb = 2*sizeof(uint16_t); … … 1500 1500 { 1501 1501 // far 16:32 pointer 1502 pParam-> parval= disReadDWord(pCpu, uCodePtr);1503 *((uint32_t*)&pParam-> parval+1) = disReadWord(pCpu, uCodePtr+sizeof(uint32_t));1502 pParam->uValue = disReadDWord(pCpu, uCodePtr); 1503 *((uint32_t*)&pParam->uValue+1) = disReadWord(pCpu, uCodePtr+sizeof(uint32_t)); 1504 1504 pParam->fUse |= DISUSE_IMMEDIATE_ADDR_16_32; 1505 1505 pParam->cb = sizeof(uint16_t) + sizeof(uint32_t); … … 1508 1508 1509 1509 // far 16:16 pointer 1510 pParam-> parval= disReadDWord(pCpu, uCodePtr);1510 pParam->uValue = disReadDWord(pCpu, uCodePtr); 1511 1511 pParam->fUse |= DISUSE_IMMEDIATE_ADDR_16_16; 1512 1512 pParam->cb = 2*sizeof(uint16_t); -
trunk/src/VBox/Disassembler/DisasmFormatYasm.cpp
r41740 r41741 796 796 ) 797 797 PUT_SZ("strict byte "); 798 PUT_NUM_8(pParam-> parval);798 PUT_NUM_8(pParam->uValue); 799 799 break; 800 800 … … 802 802 if ( pCpu->uCpuMode != pCpu->uOpMode 803 803 || ( (fFlags & DIS_FMT_FLAGS_STRICT) 804 && ( (int8_t)pParam-> parval == (int16_t)pParam->parval804 && ( (int8_t)pParam->uValue == (int16_t)pParam->uValue 805 805 || (pOp->fParam1 >= OP_PARM_REG_GEN16_START && pOp->fParam1 <= OP_PARM_REG_GEN16_END) 806 806 || (pOp->fParam2 >= OP_PARM_REG_GEN16_START && pOp->fParam2 <= OP_PARM_REG_GEN16_END)) … … 814 814 PUT_SZ_STRICT("strict word ", "word "); 815 815 } 816 PUT_NUM_16(pParam-> parval);816 PUT_NUM_16(pParam->uValue); 817 817 break; 818 818 819 819 case DISUSE_IMMEDIATE16_SX8: 820 820 PUT_SZ_STRICT("strict byte ", "byte "); 821 PUT_NUM_16(pParam-> parval);821 PUT_NUM_16(pParam->uValue); 822 822 break; 823 823 … … 825 825 if ( pCpu->uOpMode != (pCpu->uCpuMode == DISCPUMODE_16BIT ? DISCPUMODE_16BIT : DISCPUMODE_32BIT) /* not perfect */ 826 826 || ( (fFlags & DIS_FMT_FLAGS_STRICT) 827 && ( (int8_t)pParam-> parval == (int32_t)pParam->parval827 && ( (int8_t)pParam->uValue == (int32_t)pParam->uValue 828 828 || (pOp->fParam1 >= OP_PARM_REG_GEN32_START && pOp->fParam1 <= OP_PARM_REG_GEN32_END) 829 829 || (pOp->fParam2 >= OP_PARM_REG_GEN32_START && pOp->fParam2 <= OP_PARM_REG_GEN32_END)) … … 837 837 PUT_SZ_STRICT("strict dword ", "dword "); 838 838 } 839 PUT_NUM_32(pParam-> parval);839 PUT_NUM_32(pParam->uValue); 840 840 break; 841 841 842 842 case DISUSE_IMMEDIATE32_SX8: 843 843 PUT_SZ_STRICT("strict byte ", "byte "); 844 PUT_NUM_32(pParam-> parval);844 PUT_NUM_32(pParam->uValue); 845 845 break; 846 846 847 847 case DISUSE_IMMEDIATE64_SX8: 848 848 PUT_SZ_STRICT("strict byte ", "byte "); 849 PUT_NUM_64(pParam-> parval);849 PUT_NUM_64(pParam->uValue); 850 850 break; 851 851 852 852 case DISUSE_IMMEDIATE64: 853 PUT_NUM_64(pParam-> parval);853 PUT_NUM_64(pParam->uValue); 854 854 break; 855 855 … … 877 877 if (fPrefix) 878 878 PUT_SZ("short "); 879 offDisplacement = (int8_t)pParam-> parval;879 offDisplacement = (int8_t)pParam->uValue; 880 880 Assert(*pszFmt == 'b'); pszFmt++; 881 881 … … 887 887 if (fPrefix) 888 888 PUT_SZ("near "); 889 offDisplacement = (int16_t)pParam-> parval;889 offDisplacement = (int16_t)pParam->uValue; 890 890 Assert(*pszFmt == 'v'); pszFmt++; 891 891 … … 897 897 if (fPrefix) 898 898 PUT_SZ("near "); 899 offDisplacement = (int32_t)pParam-> parval;899 offDisplacement = (int32_t)pParam->uValue; 900 900 Assert(pParam->fUse & (DISUSE_IMMEDIATE32_REL|DISUSE_IMMEDIATE64_REL)); 901 901 Assert(*pszFmt == 'v'); pszFmt++; … … 952 952 { 953 953 case DISUSE_IMMEDIATE_ADDR_16_16: 954 PUT_NUM_16(pParam-> parval>> 16);954 PUT_NUM_16(pParam->uValue >> 16); 955 955 PUT_C(':'); 956 PUT_NUM_16(pParam-> parval);956 PUT_NUM_16(pParam->uValue); 957 957 if (pfnGetSymbol) 958 rc = pfnGetSymbol(pCpu, DIS_FMT_SEL_FROM_VALUE(pParam-> parval >> 16), (uint16_t)pParam->parval, szSymbol, sizeof(szSymbol), &off, pvUser);958 rc = pfnGetSymbol(pCpu, DIS_FMT_SEL_FROM_VALUE(pParam->uValue >> 16), (uint16_t)pParam->uValue, szSymbol, sizeof(szSymbol), &off, pvUser); 959 959 break; 960 960 case DISUSE_IMMEDIATE_ADDR_16_32: 961 PUT_NUM_16(pParam-> parval>> 32);961 PUT_NUM_16(pParam->uValue >> 32); 962 962 PUT_C(':'); 963 PUT_NUM_32(pParam-> parval);963 PUT_NUM_32(pParam->uValue); 964 964 if (pfnGetSymbol) 965 rc = pfnGetSymbol(pCpu, DIS_FMT_SEL_FROM_VALUE(pParam-> parval >> 16), (uint32_t)pParam->parval, szSymbol, sizeof(szSymbol), &off, pvUser);965 rc = pfnGetSymbol(pCpu, DIS_FMT_SEL_FROM_VALUE(pParam->uValue >> 16), (uint32_t)pParam->uValue, szSymbol, sizeof(szSymbol), &off, pvUser); 966 966 break; 967 967 case DISUSE_DISPLACEMENT16: 968 PUT_NUM_16(pParam-> parval);968 PUT_NUM_16(pParam->uValue); 969 969 if (pfnGetSymbol) 970 rc = pfnGetSymbol(pCpu, DIS_FMT_SEL_FROM_REG(DISSELREG_CS), (uint16_t)pParam-> parval, szSymbol, sizeof(szSymbol), &off, pvUser);970 rc = pfnGetSymbol(pCpu, DIS_FMT_SEL_FROM_REG(DISSELREG_CS), (uint16_t)pParam->uValue, szSymbol, sizeof(szSymbol), &off, pvUser); 971 971 break; 972 972 case DISUSE_DISPLACEMENT32: 973 PUT_NUM_32(pParam-> parval);973 PUT_NUM_32(pParam->uValue); 974 974 if (pfnGetSymbol) 975 rc = pfnGetSymbol(pCpu, DIS_FMT_SEL_FROM_REG(DISSELREG_CS), (uint32_t)pParam-> parval, szSymbol, sizeof(szSymbol), &off, pvUser);975 rc = pfnGetSymbol(pCpu, DIS_FMT_SEL_FROM_REG(DISSELREG_CS), (uint32_t)pParam->uValue, szSymbol, sizeof(szSymbol), &off, pvUser); 976 976 break; 977 977 case DISUSE_DISPLACEMENT64: 978 PUT_NUM_64(pParam-> parval);978 PUT_NUM_64(pParam->uValue); 979 979 if (pfnGetSymbol) 980 rc = pfnGetSymbol(pCpu, DIS_FMT_SEL_FROM_REG(DISSELREG_CS), (uint64_t)pParam-> parval, szSymbol, sizeof(szSymbol), &off, pvUser);980 rc = pfnGetSymbol(pCpu, DIS_FMT_SEL_FROM_REG(DISSELREG_CS), (uint64_t)pParam->uValue, szSymbol, sizeof(szSymbol), &off, pvUser); 981 981 break; 982 982 default: … … 1016 1016 { 1017 1017 case DISUSE_IMMEDIATE_ADDR_16_16: 1018 PUT_NUM_16(pParam-> parval>> 16);1018 PUT_NUM_16(pParam->uValue >> 16); 1019 1019 PUT_C(':'); 1020 PUT_NUM_16(pParam-> parval);1020 PUT_NUM_16(pParam->uValue); 1021 1021 if (pfnGetSymbol) 1022 rc = pfnGetSymbol(pCpu, DIS_FMT_SEL_FROM_VALUE(pParam-> parval >> 16), (uint16_t)pParam->parval, szSymbol, sizeof(szSymbol), &off, pvUser);1022 rc = pfnGetSymbol(pCpu, DIS_FMT_SEL_FROM_VALUE(pParam->uValue >> 16), (uint16_t)pParam->uValue, szSymbol, sizeof(szSymbol), &off, pvUser); 1023 1023 break; 1024 1024 case DISUSE_IMMEDIATE_ADDR_16_32: 1025 PUT_NUM_16(pParam-> parval>> 32);1025 PUT_NUM_16(pParam->uValue >> 32); 1026 1026 PUT_C(':'); 1027 PUT_NUM_32(pParam-> parval);1027 PUT_NUM_32(pParam->uValue); 1028 1028 if (pfnGetSymbol) 1029 rc = pfnGetSymbol(pCpu, DIS_FMT_SEL_FROM_VALUE(pParam-> parval >> 16), (uint32_t)pParam->parval, szSymbol, sizeof(szSymbol), &off, pvUser);1029 rc = pfnGetSymbol(pCpu, DIS_FMT_SEL_FROM_VALUE(pParam->uValue >> 16), (uint32_t)pParam->uValue, szSymbol, sizeof(szSymbol), &off, pvUser); 1030 1030 break; 1031 1031 case DISUSE_DISPLACEMENT16: … … 1449 1449 /* shl eax,1 will be assembled to the form without the immediate byte. */ 1450 1450 if ( pCpu->pCurInstr->fParam2 == OP_PARM_Ib 1451 && (uint8_t)pCpu->Param2. parval== 1)1451 && (uint8_t)pCpu->Param2.uValue == 1) 1452 1452 { 1453 1453 switch (pCpu->pCurInstr->uOpcode) -
trunk/src/VBox/Disassembler/DisasmReg.cpp
r41740 r41741 688 688 { 689 689 pParamVal->size = sizeof(uint16_t); 690 pParamVal->val.val16 = (uint8_t)pParam-> parval;690 pParamVal->val.val16 = (uint8_t)pParam->uValue; 691 691 } 692 692 else 693 693 { 694 694 pParamVal->size = sizeof(uint8_t); 695 pParamVal->val.val8 = (uint8_t)pParam-> parval;695 pParamVal->val.val8 = (uint8_t)pParam->uValue; 696 696 } 697 697 } … … 701 701 pParamVal->flags |= DISQPV_FLAG_16; 702 702 pParamVal->size = sizeof(uint16_t); 703 pParamVal->val.val16 = (uint16_t)pParam-> parval;703 pParamVal->val.val16 = (uint16_t)pParam->uValue; 704 704 AssertMsg(pParamVal->size == pParam->cb || ((pParam->cb == 1) && (pParam->fUse & DISUSE_IMMEDIATE16_SX8)), ("pParamVal->size %d vs %d EIP=%RX32\n", pParamVal->size, pParam->cb, pCtx->eip) ); 705 705 } … … 709 709 pParamVal->flags |= DISQPV_FLAG_32; 710 710 pParamVal->size = sizeof(uint32_t); 711 pParamVal->val.val32 = (uint32_t)pParam-> parval;711 pParamVal->val.val32 = (uint32_t)pParam->uValue; 712 712 Assert(pParamVal->size == pParam->cb || ((pParam->cb == 1) && (pParam->fUse & DISUSE_IMMEDIATE32_SX8)) ); 713 713 } … … 717 717 pParamVal->flags |= DISQPV_FLAG_64; 718 718 pParamVal->size = sizeof(uint64_t); 719 pParamVal->val.val64 = pParam-> parval;719 pParamVal->val.val64 = pParam->uValue; 720 720 Assert(pParamVal->size == pParam->cb || ((pParam->cb == 1) && (pParam->fUse & DISUSE_IMMEDIATE64_SX8)) ); 721 721 } … … 725 725 pParamVal->flags |= DISQPV_FLAG_FARPTR16; 726 726 pParamVal->size = sizeof(uint16_t)*2; 727 pParamVal->val.farptr.sel = (uint16_t)RT_LOWORD(pParam-> parval>> 16);728 pParamVal->val.farptr.offset = (uint32_t)RT_LOWORD(pParam-> parval);727 pParamVal->val.farptr.sel = (uint16_t)RT_LOWORD(pParam->uValue >> 16); 728 pParamVal->val.farptr.offset = (uint32_t)RT_LOWORD(pParam->uValue); 729 729 Assert(pParamVal->size == pParam->cb); 730 730 } … … 734 734 pParamVal->flags |= DISQPV_FLAG_FARPTR32; 735 735 pParamVal->size = sizeof(uint16_t) + sizeof(uint32_t); 736 pParamVal->val.farptr.sel = (uint16_t)RT_LOWORD(pParam-> parval>> 32);737 pParamVal->val.farptr.offset = (uint32_t)(pParam-> parval& 0xFFFFFFFF);736 pParamVal->val.farptr.sel = (uint16_t)RT_LOWORD(pParam->uValue >> 32); 737 pParamVal->val.farptr.offset = (uint32_t)(pParam->uValue & 0xFFFFFFFF); 738 738 Assert(pParam->cb == 8); 739 739 } -
trunk/src/VBox/VMM/VMMAll/IOMAll.cpp
r41739 r41741 109 109 { 110 110 *pcbSize = 8; 111 *pu64Data = pParam-> parval;111 *pu64Data = pParam->uValue; 112 112 return true; 113 113 } … … 116 116 { 117 117 *pcbSize = 4; 118 *pu64Data = (uint32_t)pParam-> parval;118 *pu64Data = (uint32_t)pParam->uValue; 119 119 return true; 120 120 } … … 123 123 { 124 124 *pcbSize = 2; 125 *pu64Data = (uint16_t)pParam-> parval;125 *pu64Data = (uint16_t)pParam->uValue; 126 126 return true; 127 127 } … … 130 130 { 131 131 *pcbSize = 1; 132 *pu64Data = (uint8_t)pParam-> parval;132 *pu64Data = (uint8_t)pParam->uValue; 133 133 return true; 134 134 } -
trunk/src/VBox/VMM/VMMR0/HWVMXR0.cpp
r41739 r41741 3704 3704 uint32_t intInfo2; 3705 3705 3706 LogFlow(("Realmode: INT %x\n", pDis->Param1. parval& 0xff));3707 intInfo2 = pDis->Param1. parval& 0xff;3706 LogFlow(("Realmode: INT %x\n", pDis->Param1.uValue & 0xff)); 3707 intInfo2 = pDis->Param1.uValue & 0xff; 3708 3708 intInfo2 |= (1 << VMX_EXIT_INTERRUPTION_INFO_VALID_SHIFT); 3709 3709 intInfo2 |= (VMX_EXIT_INTERRUPTION_INFO_TYPE_SW << VMX_EXIT_INTERRUPTION_INFO_TYPE_SHIFT); -
trunk/src/VBox/VMM/VMMR3/CSAM.cpp
r41739 r41741 801 801 case OP_INT: 802 802 Assert(pCpu->Param1.fUse & DISUSE_IMMEDIATE8); 803 if (pCpu->Param1. parval== 3)803 if (pCpu->Param1.uValue == 3) 804 804 { 805 805 //two byte int 3 … … 1101 1101 && ( !(cpu.Param2.flags & DISUSE_REG_GEN32) 1102 1102 || !(cpu.Param2.flags & (DISUSE_DISPLACEMENT8|DISUSE_DISPLACEMENT16|DISUSE_DISPLACEMENT32)) 1103 || cpu.Param2. parval!= 01103 || cpu.Param2.uValue != 0 1104 1104 ) 1105 1105 ) -
trunk/src/VBox/VMM/VMMR3/HWACCM.cpp
r41739 r41741 1845 1845 Assert(pDis->Param2.fUse == DISUSE_IMMEDIATE32); 1846 1846 pPatch->enmType = HWACCMTPRINSTR_WRITE_IMM; 1847 pPatch->uSrcOperand = pDis->Param2. parval;1847 pPatch->uSrcOperand = pDis->Param2.uValue; 1848 1848 } 1849 1849 rc = PGMPhysSimpleWriteGCPtr(pVCpu, pCtx->rip, aVMMCall, sizeof(aVMMCall)); … … 1875 1875 && pDis->Param1.base.reg_gen == uMmioReg 1876 1876 && pDis->Param2.fUse == DISUSE_IMMEDIATE8 1877 && pDis->Param2. parval== 41877 && pDis->Param2.uValue == 4 1878 1878 && oldcbOp + cbOp < sizeof(pVM->hwaccm.s.aPatches[idx].aOpcode)) 1879 1879 { … … 2048 2048 Assert(pDis->Param2.fUse == DISUSE_IMMEDIATE32); 2049 2049 aPatch[off++] = 0xB8; /* mov eax, immediate */ 2050 *(uint32_t *)&aPatch[off] = pDis->Param2. parval;2050 *(uint32_t *)&aPatch[off] = pDis->Param2.uValue; 2051 2051 off += sizeof(uint32_t); 2052 2052 } -
trunk/src/VBox/VMM/VMMR3/PATM.cpp
r41739 r41741 3949 3949 * references the target instruction in the conflict patch. 3950 3950 */ 3951 RTRCPTR pJmpDest = PATMR3GuestGCPtrToPatchGCPtr(pVM, pInstrGC + pCpu->cbInstr + (int32_t)pCpu->Param1. parval);3952 3953 AssertMsg(pJmpDest, ("PATMR3GuestGCPtrToPatchGCPtr failed for %RRv\n", pInstrGC + pCpu->cbInstr + (int32_t)pCpu->Param1. parval));3951 RTRCPTR pJmpDest = PATMR3GuestGCPtrToPatchGCPtr(pVM, pInstrGC + pCpu->cbInstr + (int32_t)pCpu->Param1.uValue); 3952 3953 AssertMsg(pJmpDest, ("PATMR3GuestGCPtrToPatchGCPtr failed for %RRv\n", pInstrGC + pCpu->cbInstr + (int32_t)pCpu->Param1.uValue)); 3954 3954 pPatch->pPatchJumpDestGC = pJmpDest; 3955 3955 -
trunk/src/VBox/VMM/VMMR3/PATMPatch.cpp
r41739 r41741 857 857 /** @note optimization: multiple identical ret instruction in a single patch can share a single patched ret. */ 858 858 if ( pPatch->pTempInfo->pPatchRetInstrGC 859 && pPatch->pTempInfo->uPatchRetParam1 == (uint32_t)pCpu->Param1. parval) /* nr of bytes popped off the stack should be identical of course! */859 && pPatch->pTempInfo->uPatchRetParam1 == (uint32_t)pCpu->Param1.uValue) /* nr of bytes popped off the stack should be identical of course! */ 860 860 { 861 861 Assert(pCpu->pCurInstr->uOpcode == OP_RETN); … … 891 891 { 892 892 pPatch->pTempInfo->pPatchRetInstrGC = pPatchRetInstrGC; 893 pPatch->pTempInfo->uPatchRetParam1 = pCpu->Param1. parval;893 pPatch->pTempInfo->uPatchRetParam1 = pCpu->Param1.uValue; 894 894 } 895 895 return rc; -
trunk/src/VBox/VMM/VMMRC/TRPMRCHandlers.cpp
r41739 r41741 739 739 */ 740 740 pCpu->Param1.fUse = DISUSE_IMMEDIATE8; 741 pCpu->Param1. parval= 3;741 pCpu->Param1.uValue = 3; 742 742 /* fallthru */ 743 743 case OP_INT: … … 745 745 Assert(pCpu->Param1.fUse & DISUSE_IMMEDIATE8); 746 746 Assert(!(PATMIsPatchGCAddr(pVM, PC))); 747 if (pCpu->Param1. parval== 3)747 if (pCpu->Param1.uValue == 3) 748 748 { 749 749 /* Int 3 replacement patch? */ … … 754 754 } 755 755 } 756 rc = TRPMForwardTrap(pVCpu, pRegFrame, (uint32_t)pCpu->Param1. parval, pCpu->cbInstr, TRPM_TRAP_NO_ERRORCODE, TRPM_SOFTWARE_INT, 0xd);756 rc = TRPMForwardTrap(pVCpu, pRegFrame, (uint32_t)pCpu->Param1.uValue, pCpu->cbInstr, TRPM_TRAP_NO_ERRORCODE, TRPM_SOFTWARE_INT, 0xd); 757 757 if (RT_SUCCESS(rc) && rc != VINF_EM_RAW_GUEST_TRAP) 758 758 return trpmGCExitTrap(pVM, pVCpu, VINF_SUCCESS, pRegFrame); … … 841 841 */ 842 842 pCpu->Param1.fUse = DISUSE_IMMEDIATE8; 843 pCpu->Param1. parval= 3;843 pCpu->Param1.uValue = 3; 844 844 /* fall thru */ 845 845 case OP_INT: 846 846 { 847 847 Assert(pCpu->Param1.fUse & DISUSE_IMMEDIATE8); 848 rc = TRPMForwardTrap(pVCpu, pRegFrame, (uint32_t)pCpu->Param1. parval, pCpu->cbInstr, TRPM_TRAP_NO_ERRORCODE, TRPM_SOFTWARE_INT, 0xd);848 rc = TRPMForwardTrap(pVCpu, pRegFrame, (uint32_t)pCpu->Param1.uValue, pCpu->cbInstr, TRPM_TRAP_NO_ERRORCODE, TRPM_SOFTWARE_INT, 0xd); 849 849 if (RT_SUCCESS(rc) && rc != VINF_EM_RAW_GUEST_TRAP) 850 850 return trpmGCExitTrap(pVM, pVCpu, VINF_SUCCESS, pRegFrame); -
trunk/src/VBox/VMM/include/CSAMInternal.h
r41739 r41741 253 253 if (pCpu->Param1.fUse & DISUSE_IMMEDIATE8_REL) 254 254 { 255 disp = (int32_t)(char)pCpu->Param1. parval;255 disp = (int32_t)(char)pCpu->Param1.uValue; 256 256 } 257 257 else 258 258 if (pCpu->Param1.fUse & DISUSE_IMMEDIATE16_REL) 259 259 { 260 disp = (int32_t)(uint16_t)pCpu->Param1. parval;260 disp = (int32_t)(uint16_t)pCpu->Param1.uValue; 261 261 } 262 262 else 263 263 if (pCpu->Param1.fUse & DISUSE_IMMEDIATE32_REL) 264 264 { 265 disp = (int32_t)pCpu->Param1. parval;265 disp = (int32_t)pCpu->Param1.uValue; 266 266 } 267 267 else -
trunk/src/VBox/VMM/include/PATMInternal.h
r41739 r41741 763 763 if (pCpu->Param1.fUse & DISUSE_IMMEDIATE8_REL) 764 764 { 765 disp = (int32_t)(char)pCpu->Param1. parval;765 disp = (int32_t)(char)pCpu->Param1.uValue; 766 766 } 767 767 else 768 768 if (pCpu->Param1.fUse & DISUSE_IMMEDIATE16_REL) 769 769 { 770 disp = (int32_t)(uint16_t)pCpu->Param1. parval;770 disp = (int32_t)(uint16_t)pCpu->Param1.uValue; 771 771 } 772 772 else 773 773 if (pCpu->Param1.fUse & DISUSE_IMMEDIATE32_REL) 774 774 { 775 disp = (int32_t)pCpu->Param1. parval;775 disp = (int32_t)pCpu->Param1.uValue; 776 776 } 777 777 else
Note:
See TracChangeset
for help on using the changeset viewer.