Changeset 100842 in vbox
- Timestamp:
- Aug 9, 2023 8:00:55 PM (16 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllInstTwoByte0f.cpp.h
r100841 r100842 10227 10227 else 10228 10228 { 10229 IEM_MC_BEGIN(4, 3);10229 IEM_MC_BEGIN(4, 4); 10230 10230 IEM_MC_ARG(uint8_t *, pu8Dst, 0); 10231 10231 IEM_MC_ARG(uint8_t *, pu8Al, 1); … … 10234 10234 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 10235 10235 IEM_MC_LOCAL(uint8_t, u8Al); 10236 IEM_MC_LOCAL(uint8_t, bUnmapInfo); 10236 10237 10237 10238 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); 10238 10239 IEMOP_HLP_DONE_DECODING(); 10239 IEM_MC_MEM_MAP (pu8Dst, IEM_ACCESS_DATA_RW, pVCpu->iem.s.iEffSeg, GCPtrEffDst, 0);10240 IEM_MC_MEM_MAP_U8_RW(pu8Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); 10240 10241 IEM_MC_FETCH_GREG_U8(u8Src, IEM_GET_MODRM_REG(pVCpu, bRm)); 10241 10242 IEM_MC_FETCH_GREG_U8(u8Al, X86_GREG_xAX); … … 10247 10248 IEM_MC_CALL_VOID_AIMPL_4(iemAImpl_cmpxchg_u8_locked, pu8Dst, pu8Al, u8Src, pEFlags); 10248 10249 10249 IEM_MC_MEM_COMMIT_AND_UNMAP (pu8Dst, IEM_ACCESS_DATA_RW);10250 IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu8Dst, bUnmapInfo); 10250 10251 IEM_MC_COMMIT_EFLAGS(EFlags); 10251 10252 IEM_MC_STORE_GREG_U8(X86_GREG_xAX, u8Al); … … 10355 10356 { 10356 10357 case IEMMODE_16BIT: 10357 IEM_MC_BEGIN(4, 3);10358 IEM_MC_BEGIN(4, 4); 10358 10359 IEM_MC_ARG(uint16_t *, pu16Dst, 0); 10359 10360 IEM_MC_ARG(uint16_t *, pu16Ax, 1); … … 10362 10363 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 10363 10364 IEM_MC_LOCAL(uint16_t, u16Ax); 10365 IEM_MC_LOCAL(uint8_t, bUnmapInfo); 10364 10366 10365 10367 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); 10366 10368 IEMOP_HLP_DONE_DECODING(); 10367 IEM_MC_MEM_MAP (pu16Dst, IEM_ACCESS_DATA_RW, pVCpu->iem.s.iEffSeg, GCPtrEffDst, 0);10369 IEM_MC_MEM_MAP_U16_RW(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); 10368 10370 IEM_MC_FETCH_GREG_U16(u16Src, IEM_GET_MODRM_REG(pVCpu, bRm)); 10369 10371 IEM_MC_FETCH_GREG_U16(u16Ax, X86_GREG_xAX); … … 10375 10377 IEM_MC_CALL_VOID_AIMPL_4(iemAImpl_cmpxchg_u16_locked, pu16Dst, pu16Ax, u16Src, pEFlags); 10376 10378 10377 IEM_MC_MEM_COMMIT_AND_UNMAP (pu16Dst, IEM_ACCESS_DATA_RW);10379 IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu16Dst, bUnmapInfo); 10378 10380 IEM_MC_COMMIT_EFLAGS(EFlags); 10379 10381 IEM_MC_STORE_GREG_U16(X86_GREG_xAX, u16Ax); … … 10383 10385 10384 10386 case IEMMODE_32BIT: 10385 IEM_MC_BEGIN(4, 3);10387 IEM_MC_BEGIN(4, 4); 10386 10388 IEM_MC_ARG(uint32_t *, pu32Dst, 0); 10387 10389 IEM_MC_ARG(uint32_t *, pu32Eax, 1); … … 10390 10392 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 10391 10393 IEM_MC_LOCAL(uint32_t, u32Eax); 10394 IEM_MC_LOCAL(uint8_t, bUnmapInfo); 10392 10395 10393 10396 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); 10394 10397 IEMOP_HLP_DONE_DECODING(); 10395 IEM_MC_MEM_MAP (pu32Dst, IEM_ACCESS_DATA_RW, pVCpu->iem.s.iEffSeg, GCPtrEffDst, 0);10398 IEM_MC_MEM_MAP_U32_RW(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); 10396 10399 IEM_MC_FETCH_GREG_U32(u32Src, IEM_GET_MODRM_REG(pVCpu, bRm)); 10397 10400 IEM_MC_FETCH_GREG_U32(u32Eax, X86_GREG_xAX); … … 10403 10406 IEM_MC_CALL_VOID_AIMPL_4(iemAImpl_cmpxchg_u32_locked, pu32Dst, pu32Eax, u32Src, pEFlags); 10404 10407 10405 IEM_MC_MEM_COMMIT_AND_UNMAP (pu32Dst, IEM_ACCESS_DATA_RW);10408 IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu32Dst, bUnmapInfo); 10406 10409 IEM_MC_COMMIT_EFLAGS(EFlags); 10407 10410 … … 10415 10418 10416 10419 case IEMMODE_64BIT: 10417 IEM_MC_BEGIN(4, 3);10420 IEM_MC_BEGIN(4, 4); 10418 10421 IEM_MC_ARG(uint64_t *, pu64Dst, 0); 10419 10422 IEM_MC_ARG(uint64_t *, pu64Rax, 1); … … 10426 10429 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 10427 10430 IEM_MC_LOCAL(uint64_t, u64Rax); 10431 IEM_MC_LOCAL(uint8_t, bUnmapInfo); 10428 10432 10429 10433 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); 10430 10434 IEMOP_HLP_DONE_DECODING(); 10431 IEM_MC_MEM_MAP (pu64Dst, IEM_ACCESS_DATA_RW, pVCpu->iem.s.iEffSeg, GCPtrEffDst, 0);10435 IEM_MC_MEM_MAP_U64_RW(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); 10432 10436 IEM_MC_FETCH_GREG_U64(u64Rax, X86_GREG_xAX); 10433 10437 IEM_MC_FETCH_EFLAGS(EFlags); … … 10447 10451 #endif 10448 10452 10449 IEM_MC_MEM_COMMIT_AND_UNMAP (pu64Dst, IEM_ACCESS_DATA_RW);10453 IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu64Dst, bUnmapInfo); 10450 10454 IEM_MC_COMMIT_EFLAGS(EFlags); 10451 10455 IEM_MC_STORE_GREG_U64(X86_GREG_xAX, u64Rax);
Note:
See TracChangeset
for help on using the changeset viewer.