Changeset 101951 in vbox
- Timestamp:
- Nov 8, 2023 2:07:54 AM (17 months ago)
- svn:sync-xref-src-repo-rev:
- 160048
- Location:
- trunk/src/VBox/VMM/VMMAll
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllInstThree0f38.cpp.h
r101850 r101951 1318 1318 { 1319 1319 IEM_MC_BEGIN(3, 0, IEM_MC_F_64BIT, 0); 1320 IEM_MC_ARG(uint8_t, iEffSeg, 0); 1321 IEM_MC_ARG(RTGCPTR, GCPtrInveptDesc, 1); 1322 IEM_MC_ARG(uint64_t, uInveptType, 2); 1323 IEM_MC_FETCH_GREG_U64(uInveptType, IEM_GET_MODRM_REG(pVCpu, bRm)); 1320 IEM_MC_ARG(RTGCPTR, GCPtrInveptDesc, 1); 1324 1321 IEM_MC_CALC_RM_EFF_ADDR(GCPtrInveptDesc, bRm, 0); 1325 1322 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 1326 1323 IEMOP_HLP_IN_VMX_OPERATION("invept", kVmxVDiag_Invept); 1327 1324 IEMOP_HLP_VMX_INSTR( "invept", kVmxVDiag_Invept); 1328 IEM_MC_ASSIGN(iEffSeg, pVCpu->iem.s.iEffSeg); 1325 IEM_MC_ARG_CONST(uint8_t, iEffSeg, /*=*/ pVCpu->iem.s.iEffSeg, 0); 1326 IEM_MC_ARG(uint64_t, uInveptType, 2); 1327 IEM_MC_FETCH_GREG_U64(uInveptType, IEM_GET_MODRM_REG(pVCpu, bRm)); 1329 1328 IEM_MC_CALL_CIMPL_3(IEM_CIMPL_F_VMEXIT | IEM_CIMPL_F_STATUS_FLAGS, 1330 1329 iemCImpl_invept, iEffSeg, GCPtrInveptDesc, uInveptType); … … 1334 1333 { 1335 1334 IEM_MC_BEGIN(3, 0, IEM_MC_F_NOT_286_OR_OLDER, 0); 1336 IEM_MC_ARG(uint8_t, iEffSeg, 0); 1337 IEM_MC_ARG(RTGCPTR, GCPtrInveptDesc, 1); 1338 IEM_MC_ARG(uint32_t, uInveptType, 2); 1339 IEM_MC_FETCH_GREG_U32(uInveptType, IEM_GET_MODRM_REG(pVCpu, bRm)); 1335 IEM_MC_ARG(RTGCPTR, GCPtrInveptDesc, 1); 1340 1336 IEM_MC_CALC_RM_EFF_ADDR(GCPtrInveptDesc, bRm, 0); 1341 1337 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 1342 1338 IEMOP_HLP_IN_VMX_OPERATION("invept", kVmxVDiag_Invept); 1343 1339 IEMOP_HLP_VMX_INSTR( "invept", kVmxVDiag_Invept); 1344 IEM_MC_ASSIGN(iEffSeg, pVCpu->iem.s.iEffSeg); 1340 IEM_MC_ARG_CONST(uint8_t, iEffSeg, /*=*/ pVCpu->iem.s.iEffSeg, 0); 1341 IEM_MC_ARG(uint32_t, uInveptType, 2); 1342 IEM_MC_FETCH_GREG_U32(uInveptType, IEM_GET_MODRM_REG(pVCpu, bRm)); 1345 1343 IEM_MC_CALL_CIMPL_3(IEM_CIMPL_F_VMEXIT | IEM_CIMPL_F_STATUS_FLAGS, 1346 1344 iemCImpl_invept, iEffSeg, GCPtrInveptDesc, uInveptType); … … 1369 1367 { 1370 1368 IEM_MC_BEGIN(3, 0, IEM_MC_F_64BIT, 0); 1371 IEM_MC_ARG(uint8_t, iEffSeg, 0); 1372 IEM_MC_ARG(RTGCPTR, GCPtrInvvpidDesc, 1); 1373 IEM_MC_ARG(uint64_t, uInvvpidType, 2); 1374 IEM_MC_FETCH_GREG_U64(uInvvpidType, IEM_GET_MODRM_REG(pVCpu, bRm)); 1369 IEM_MC_ARG(RTGCPTR, GCPtrInvvpidDesc, 1); 1375 1370 IEM_MC_CALC_RM_EFF_ADDR(GCPtrInvvpidDesc, bRm, 0); 1376 1371 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 1377 1372 IEMOP_HLP_IN_VMX_OPERATION("invvpid", kVmxVDiag_Invvpid); 1378 1373 IEMOP_HLP_VMX_INSTR("invvpid", kVmxVDiag_Invvpid); 1379 IEM_MC_ASSIGN(iEffSeg, pVCpu->iem.s.iEffSeg); 1374 IEM_MC_ARG_CONST(uint8_t, iEffSeg, /*=*/ pVCpu->iem.s.iEffSeg, 0); 1375 IEM_MC_ARG(uint64_t, uInvvpidType, 2); 1376 IEM_MC_FETCH_GREG_U64(uInvvpidType, IEM_GET_MODRM_REG(pVCpu, bRm)); 1380 1377 IEM_MC_CALL_CIMPL_3(IEM_CIMPL_F_VMEXIT | IEM_CIMPL_F_STATUS_FLAGS, 1381 1378 iemCImpl_invvpid, iEffSeg, GCPtrInvvpidDesc, uInvvpidType); … … 1385 1382 { 1386 1383 IEM_MC_BEGIN(3, 0, IEM_MC_F_NOT_286_OR_OLDER, 0); 1387 IEM_MC_ARG(uint8_t, iEffSeg, 0); 1388 IEM_MC_ARG(RTGCPTR, GCPtrInvvpidDesc, 1); 1389 IEM_MC_ARG(uint32_t, uInvvpidType, 2); 1390 IEM_MC_FETCH_GREG_U32(uInvvpidType, IEM_GET_MODRM_REG(pVCpu, bRm)); 1384 IEM_MC_ARG(RTGCPTR, GCPtrInvvpidDesc, 1); 1391 1385 IEM_MC_CALC_RM_EFF_ADDR(GCPtrInvvpidDesc, bRm, 0); 1392 1386 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 1393 1387 IEMOP_HLP_IN_VMX_OPERATION("invvpid", kVmxVDiag_Invvpid); 1394 1388 IEMOP_HLP_VMX_INSTR("invvpid", kVmxVDiag_Invvpid); 1395 IEM_MC_ASSIGN(iEffSeg, pVCpu->iem.s.iEffSeg); 1389 IEM_MC_ARG_CONST(uint8_t, iEffSeg, /*=*/ pVCpu->iem.s.iEffSeg, 0); 1390 IEM_MC_ARG(uint32_t, uInvvpidType, 2); 1391 IEM_MC_FETCH_GREG_U32(uInvvpidType, IEM_GET_MODRM_REG(pVCpu, bRm)); 1396 1392 IEM_MC_CALL_CIMPL_3(IEM_CIMPL_F_VMEXIT | IEM_CIMPL_F_STATUS_FLAGS, 1397 1393 iemCImpl_invvpid, iEffSeg, GCPtrInvvpidDesc, uInvvpidType); … … 1418 1414 { 1419 1415 IEM_MC_BEGIN(3, 0, IEM_MC_F_64BIT, 0); 1420 IEM_MC_ARG(uint8_t, iEffSeg, 0); 1421 IEM_MC_ARG(RTGCPTR, GCPtrInvpcidDesc, 1); 1422 IEM_MC_ARG(uint64_t, uInvpcidType, 2); 1423 IEM_MC_FETCH_GREG_U64(uInvpcidType, IEM_GET_MODRM_REG(pVCpu, bRm)); 1416 IEM_MC_ARG(RTGCPTR, GCPtrInvpcidDesc, 1); 1424 1417 IEM_MC_CALC_RM_EFF_ADDR(GCPtrInvpcidDesc, bRm, 0); 1425 1418 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 1426 IEM_MC_ASSIGN(iEffSeg, pVCpu->iem.s.iEffSeg); 1419 IEM_MC_ARG_CONST(uint8_t, iEffSeg, /*=*/ pVCpu->iem.s.iEffSeg, 0); 1420 IEM_MC_ARG(uint64_t, uInvpcidType, 2); 1421 IEM_MC_FETCH_GREG_U64(uInvpcidType, IEM_GET_MODRM_REG(pVCpu, bRm)); 1427 1422 IEM_MC_CALL_CIMPL_3(IEM_CIMPL_F_VMEXIT, iemCImpl_invpcid, iEffSeg, GCPtrInvpcidDesc, uInvpcidType); 1428 1423 IEM_MC_END(); … … 1431 1426 { 1432 1427 IEM_MC_BEGIN(3, 0, IEM_MC_F_NOT_286_OR_OLDER, 0); 1433 IEM_MC_ARG(uint8_t, iEffSeg, 0); 1434 IEM_MC_ARG(RTGCPTR, GCPtrInvpcidDesc, 1); 1435 IEM_MC_ARG(uint32_t, uInvpcidType, 2); 1436 IEM_MC_FETCH_GREG_U32(uInvpcidType, IEM_GET_MODRM_REG(pVCpu, bRm)); 1428 IEM_MC_ARG(RTGCPTR, GCPtrInvpcidDesc, 1); 1437 1429 IEM_MC_CALC_RM_EFF_ADDR(GCPtrInvpcidDesc, bRm, 0); 1438 1430 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 1439 IEM_MC_ASSIGN(iEffSeg, pVCpu->iem.s.iEffSeg); 1431 IEM_MC_ARG_CONST(uint8_t, iEffSeg, /*=*/ pVCpu->iem.s.iEffSeg, 0); 1432 IEM_MC_ARG(uint32_t, uInvpcidType, 2); 1433 IEM_MC_FETCH_GREG_U32(uInvpcidType, IEM_GET_MODRM_REG(pVCpu, bRm)); 1440 1434 IEM_MC_CALL_CIMPL_3(IEM_CIMPL_F_VMEXIT, iemCImpl_invpcid, iEffSeg, GCPtrInvpcidDesc, uInvpcidType); 1441 1435 IEM_MC_END(); -
trunk/src/VBox/VMM/VMMAll/IEMAllInstVexMap1.cpp.h
r101802 r101951 3772 3772 IEMOP_MNEMONIC(vzeroall, "vzeroall"); 3773 3773 IEM_MC_BEGIN(0, 1, IEM_MC_F_NOT_286_OR_OLDER, 0); 3774 IEM_MC_LOCAL(uint32_t, uZero);3775 3774 3776 3775 IEMOP_HLP_DONE_VEX_DECODING_NO_VVVV_EX(fAvx); … … 3778 3777 IEM_MC_ACTUALIZE_AVX_STATE_FOR_CHANGE(); 3779 3778 3780 IEM_MC_ ASSIGN(uZero, 0);3779 IEM_MC_LOCAL_CONST(uint32_t, uZero, 0); 3781 3780 IEM_MC_STORE_YREG_U32_ZX_VLMAX(0, uZero); 3782 3781 IEM_MC_STORE_YREG_U32_ZX_VLMAX(1, uZero); … … 4290 4289 IEMOP_MNEMONIC1(VEX_M_MEM, VSTMXCSR, vstmxcsr, Md_WO, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES | IEMOPHINT_VEX_L_ZERO); 4291 4290 IEM_MC_BEGIN(2, 0, IEM_MC_F_NOT_286_OR_OLDER, 0); 4292 IEM_MC_ARG(uint8_t, iEffSeg, 0); 4293 IEM_MC_ARG(RTGCPTR, GCPtrEff, 1); 4291 IEM_MC_ARG(RTGCPTR, GCPtrEff, 1); 4294 4292 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEff, bRm, 0); 4295 4293 IEMOP_HLP_DONE_VEX_DECODING_L0_AND_NO_VVVV_EX(fAvx); 4296 4294 IEM_MC_ACTUALIZE_SSE_STATE_FOR_READ(); 4297 IEM_MC_A SSIGN(iEffSeg, pVCpu->iem.s.iEffSeg);4295 IEM_MC_ARG_CONST(uint8_t, iEffSeg, /*=*/ pVCpu->iem.s.iEffSeg, 0); 4298 4296 IEM_MC_CALL_CIMPL_2(IEM_CIMPL_F_FPU, iemCImpl_vstmxcsr, iEffSeg, GCPtrEff); 4299 4297 IEM_MC_END();
Note:
See TracChangeset
for help on using the changeset viewer.