Changeset 62601 in vbox for trunk/src/VBox/VMM/VMMAll/IEMAllInstructions.cpp.h
- Timestamp:
- Jul 27, 2016 3:46:22 PM (9 years ago)
- svn:sync-xref-src-repo-rev:
- 109170
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllInstructions.cpp.h
r62478 r62601 543 543 FNIEMOPRM_DEF(iemOp_InvalidWithRM) 544 544 { 545 RT_NOREF_PV(bRm); 545 546 IEMOP_MNEMONIC("InvalidWithRM"); 546 547 return IEMOP_RAISE_INVALID_OPCODE(); … … 1212 1213 case IEMMODE_16BIT: 1213 1214 { 1214 IEM_MC_BEGIN( 4, 0);1215 IEM_MC_BEGIN(3, 0); 1215 1216 IEM_MC_ARG(uint16_t *, pu16Dst, 0); 1216 1217 IEM_MC_ARG(uint16_t, u16Sel, 1); 1217 IEM_MC_ARG(uint32_t *, pEFlags, 2); 1218 IEM_MC_ARG_CONST(bool, fIsLarArg, fIsLar, 3); 1218 IEM_MC_ARG_CONST(bool, fIsLarArg, fIsLar, 2); 1219 1219 1220 1220 IEM_MC_REF_GREG_U16(pu16Dst, ((bRm >> X86_MODRM_REG_SHIFT) & X86_MODRM_REG_SMASK) | pVCpu->iem.s.uRexReg); 1221 1221 IEM_MC_FETCH_GREG_U16(u16Sel, (bRm & X86_MODRM_RM_MASK) | pVCpu->iem.s.uRexB); 1222 IEM_MC_REF_EFLAGS(pEFlags); 1223 IEM_MC_CALL_CIMPL_4(iemCImpl_LarLsl_u16, pu16Dst, u16Sel, pEFlags, fIsLarArg); 1222 IEM_MC_CALL_CIMPL_3(iemCImpl_LarLsl_u16, pu16Dst, u16Sel, fIsLarArg); 1224 1223 1225 1224 IEM_MC_END(); … … 1230 1229 case IEMMODE_64BIT: 1231 1230 { 1232 IEM_MC_BEGIN( 4, 0);1231 IEM_MC_BEGIN(3, 0); 1233 1232 IEM_MC_ARG(uint64_t *, pu64Dst, 0); 1234 1233 IEM_MC_ARG(uint16_t, u16Sel, 1); 1235 IEM_MC_ARG(uint32_t *, pEFlags, 2); 1236 IEM_MC_ARG_CONST(bool, fIsLarArg, fIsLar, 3); 1234 IEM_MC_ARG_CONST(bool, fIsLarArg, fIsLar, 2); 1237 1235 1238 1236 IEM_MC_REF_GREG_U64(pu64Dst, ((bRm >> X86_MODRM_REG_SHIFT) & X86_MODRM_REG_SMASK) | pVCpu->iem.s.uRexReg); 1239 1237 IEM_MC_FETCH_GREG_U16(u16Sel, (bRm & X86_MODRM_RM_MASK) | pVCpu->iem.s.uRexB); 1240 IEM_MC_REF_EFLAGS(pEFlags); 1241 IEM_MC_CALL_CIMPL_4(iemCImpl_LarLsl_u64, pu64Dst, u16Sel, pEFlags, fIsLarArg); 1238 IEM_MC_CALL_CIMPL_3(iemCImpl_LarLsl_u64, pu64Dst, u16Sel, fIsLarArg); 1242 1239 1243 1240 IEM_MC_END(); … … 1254 1251 case IEMMODE_16BIT: 1255 1252 { 1256 IEM_MC_BEGIN( 4, 1);1253 IEM_MC_BEGIN(3, 1); 1257 1254 IEM_MC_ARG(uint16_t *, pu16Dst, 0); 1258 1255 IEM_MC_ARG(uint16_t, u16Sel, 1); 1259 IEM_MC_ARG(uint32_t *, pEFlags, 2); 1260 IEM_MC_ARG_CONST(bool, fIsLarArg, fIsLar, 3); 1256 IEM_MC_ARG_CONST(bool, fIsLarArg, fIsLar, 2); 1261 1257 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 1262 1258 … … 1266 1262 IEM_MC_FETCH_MEM_U16(u16Sel, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 1267 1263 IEM_MC_REF_GREG_U16(pu16Dst, ((bRm >> X86_MODRM_REG_SHIFT) & X86_MODRM_REG_SMASK) | pVCpu->iem.s.uRexReg); 1268 IEM_MC_REF_EFLAGS(pEFlags); 1269 IEM_MC_CALL_CIMPL_4(iemCImpl_LarLsl_u16, pu16Dst, u16Sel, pEFlags, fIsLarArg); 1264 IEM_MC_CALL_CIMPL_3(iemCImpl_LarLsl_u16, pu16Dst, u16Sel, fIsLarArg); 1270 1265 1271 1266 IEM_MC_END(); … … 1276 1271 case IEMMODE_64BIT: 1277 1272 { 1278 IEM_MC_BEGIN( 4, 1);1273 IEM_MC_BEGIN(3, 1); 1279 1274 IEM_MC_ARG(uint64_t *, pu64Dst, 0); 1280 1275 IEM_MC_ARG(uint16_t, u16Sel, 1); 1281 IEM_MC_ARG(uint32_t *, pEFlags, 2); 1282 IEM_MC_ARG_CONST(bool, fIsLarArg, fIsLar, 3); 1276 IEM_MC_ARG_CONST(bool, fIsLarArg, fIsLar, 2); 1283 1277 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 1284 1278 … … 1289 1283 IEM_MC_FETCH_MEM_U16(u16Sel, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 1290 1284 IEM_MC_REF_GREG_U64(pu64Dst, ((bRm >> X86_MODRM_REG_SHIFT) & X86_MODRM_REG_SMASK) | pVCpu->iem.s.uRexReg); 1291 IEM_MC_REF_EFLAGS(pEFlags); 1292 IEM_MC_CALL_CIMPL_4(iemCImpl_LarLsl_u64, pu64Dst, u16Sel, pEFlags, fIsLarArg); 1285 IEM_MC_CALL_CIMPL_3(iemCImpl_LarLsl_u64, pu64Dst, u16Sel, fIsLarArg); 1293 1286 1294 1287 IEM_MC_END(); … … 5438 5431 FNIEMOP_DEF_1(iemOp_Grp15_lfence, uint8_t, bRm) 5439 5432 { 5433 RT_NOREF_PV(bRm); 5440 5434 IEMOP_MNEMONIC("lfence"); 5441 5435 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 5457 5451 FNIEMOP_DEF_1(iemOp_Grp15_mfence, uint8_t, bRm) 5458 5452 { 5453 RT_NOREF_PV(bRm); 5459 5454 IEMOP_MNEMONIC("mfence"); 5460 5455 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 5476 5471 FNIEMOP_DEF_1(iemOp_Grp15_sfence, uint8_t, bRm) 5477 5472 { 5473 RT_NOREF_PV(bRm); 5478 5474 IEMOP_MNEMONIC("sfence"); 5479 5475 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
Note:
See TracChangeset
for help on using the changeset viewer.