Changeset 100839 in vbox
- Timestamp:
- Aug 9, 2023 5:30:14 PM (18 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllInstOneByte.cpp.h
r100838 r100839 13037 13037 case IEMMODE_16BIT: 13038 13038 { 13039 IEM_MC_BEGIN(3, 2);13040 IEM_MC_ARG(uint16_t *, pu16Dst,0);13041 IEM_MC_ARG(uint16_t, u16Src,1);13042 IEM_MC_ARG_LOCAL_EFLAGS( pEFlags, EFlags,2);13039 IEM_MC_BEGIN(3, 3); 13040 IEM_MC_ARG(uint16_t const *, pu16Dst, 0); 13041 IEM_MC_ARG(uint16_t, u16Src, 1); 13042 IEM_MC_ARG_LOCAL_EFLAGS( pEFlags, EFlags, 2); 13043 13043 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 13044 IEM_MC_LOCAL(uint8_t, bUnmapInfo); 13044 13045 13045 13046 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 2); … … 13047 13048 IEM_MC_ASSIGN(u16Src, u16Imm); 13048 13049 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 13049 IEM_MC_MEM_MAP (pu16Dst, IEM_ACCESS_DATA_R, pVCpu->iem.s.iEffSeg, GCPtrEffDst, 0 /*arg*/);13050 IEM_MC_MEM_MAP_U16_RO(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); 13050 13051 IEM_MC_FETCH_EFLAGS(EFlags); 13051 13052 IEM_MC_CALL_VOID_AIMPL_3(iemAImpl_test_u16, pu16Dst, u16Src, pEFlags); 13052 13053 13053 IEM_MC_MEM_COMMIT_AND_UNMAP (pu16Dst, IEM_ACCESS_DATA_R);13054 IEM_MC_MEM_COMMIT_AND_UNMAP_RO(pu16Dst, bUnmapInfo); 13054 13055 IEM_MC_COMMIT_EFLAGS(EFlags); 13055 13056 IEM_MC_ADVANCE_RIP_AND_FINISH(); … … 13060 13061 case IEMMODE_32BIT: 13061 13062 { 13062 IEM_MC_BEGIN(3, 2);13063 IEM_MC_ARG(uint32_t *, pu32Dst,0);13064 IEM_MC_ARG(uint32_t, u32Src,1);13065 IEM_MC_ARG_LOCAL_EFLAGS( pEFlags, EFlags,2);13063 IEM_MC_BEGIN(3, 3); 13064 IEM_MC_ARG(uint32_t const *, pu32Dst, 0); 13065 IEM_MC_ARG(uint32_t, u32Src, 1); 13066 IEM_MC_ARG_LOCAL_EFLAGS( pEFlags, EFlags, 2); 13066 13067 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 13068 IEM_MC_LOCAL(uint8_t, bUnmapInfo); 13067 13069 13068 13070 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 4); … … 13070 13072 IEM_MC_ASSIGN(u32Src, u32Imm); 13071 13073 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 13072 IEM_MC_MEM_MAP (pu32Dst, IEM_ACCESS_DATA_R, pVCpu->iem.s.iEffSeg, GCPtrEffDst, 0 /*arg*/);13074 IEM_MC_MEM_MAP_U32_RO(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); 13073 13075 IEM_MC_FETCH_EFLAGS(EFlags); 13074 13076 IEM_MC_CALL_VOID_AIMPL_3(iemAImpl_test_u32, pu32Dst, u32Src, pEFlags); 13075 13077 13076 IEM_MC_MEM_COMMIT_AND_UNMAP (pu32Dst, IEM_ACCESS_DATA_R);13078 IEM_MC_MEM_COMMIT_AND_UNMAP_RO(pu32Dst, bUnmapInfo); 13077 13079 IEM_MC_COMMIT_EFLAGS(EFlags); 13078 13080 IEM_MC_ADVANCE_RIP_AND_FINISH(); … … 13083 13085 case IEMMODE_64BIT: 13084 13086 { 13085 IEM_MC_BEGIN(3, 2);13086 IEM_MC_ARG(uint64_t *, pu64Dst,0);13087 IEM_MC_ARG(uint64_t, u64Src,1);13088 IEM_MC_ARG_LOCAL_EFLAGS( pEFlags, EFlags,2);13087 IEM_MC_BEGIN(3, 3); 13088 IEM_MC_ARG(uint64_t const *, pu64Dst, 0); 13089 IEM_MC_ARG(uint64_t, u64Src, 1); 13090 IEM_MC_ARG_LOCAL_EFLAGS( pEFlags, EFlags, 2); 13089 13091 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 13092 IEM_MC_LOCAL(uint8_t, bUnmapInfo); 13090 13093 13091 13094 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 4); … … 13093 13096 IEM_MC_ASSIGN(u64Src, u64Imm); 13094 13097 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 13095 IEM_MC_MEM_MAP (pu64Dst, IEM_ACCESS_DATA_R, pVCpu->iem.s.iEffSeg, GCPtrEffDst, 0 /*arg*/);13098 IEM_MC_MEM_MAP_U64_RO(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); 13096 13099 IEM_MC_FETCH_EFLAGS(EFlags); 13097 13100 IEM_MC_CALL_VOID_AIMPL_3(iemAImpl_test_u64, pu64Dst, u64Src, pEFlags); 13098 13101 13099 IEM_MC_MEM_COMMIT_AND_UNMAP (pu64Dst, IEM_ACCESS_DATA_R);13102 IEM_MC_MEM_COMMIT_AND_UNMAP_RO(pu64Dst, bUnmapInfo); 13100 13103 IEM_MC_COMMIT_EFLAGS(EFlags); 13101 13104 IEM_MC_ADVANCE_RIP_AND_FINISH();
Note:
See TracChangeset
for help on using the changeset viewer.