VirtualBox

Changeset 100839 in vbox


Ignore:
Timestamp:
Aug 9, 2023 5:30:14 PM (18 months ago)
Author:
vboxsync
Message:

VMM/IEM: More conversion from IEM_MC_MEM_MAP to IEM_MC_MEM_MAP_XXX. bugref:10369

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/IEMAllInstOneByte.cpp.h

    r100838 r100839  
    1303713037            case IEMMODE_16BIT:
    1303813038            {
    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);
    1304313043                IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst);
     13044                IEM_MC_LOCAL(uint8_t, bUnmapInfo);
    1304413045
    1304513046                IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 2);
     
    1304713048                IEM_MC_ASSIGN(u16Src, u16Imm);
    1304813049                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);
    1305013051                IEM_MC_FETCH_EFLAGS(EFlags);
    1305113052                IEM_MC_CALL_VOID_AIMPL_3(iemAImpl_test_u16, pu16Dst, u16Src, pEFlags);
    1305213053
    13053                 IEM_MC_MEM_COMMIT_AND_UNMAP(pu16Dst, IEM_ACCESS_DATA_R);
     13054                IEM_MC_MEM_COMMIT_AND_UNMAP_RO(pu16Dst, bUnmapInfo);
    1305413055                IEM_MC_COMMIT_EFLAGS(EFlags);
    1305513056                IEM_MC_ADVANCE_RIP_AND_FINISH();
     
    1306013061            case IEMMODE_32BIT:
    1306113062            {
    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);
    1306613067                IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst);
     13068                IEM_MC_LOCAL(uint8_t, bUnmapInfo);
    1306713069
    1306813070                IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 4);
     
    1307013072                IEM_MC_ASSIGN(u32Src, u32Imm);
    1307113073                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);
    1307313075                IEM_MC_FETCH_EFLAGS(EFlags);
    1307413076                IEM_MC_CALL_VOID_AIMPL_3(iemAImpl_test_u32, pu32Dst, u32Src, pEFlags);
    1307513077
    13076                 IEM_MC_MEM_COMMIT_AND_UNMAP(pu32Dst, IEM_ACCESS_DATA_R);
     13078                IEM_MC_MEM_COMMIT_AND_UNMAP_RO(pu32Dst, bUnmapInfo);
    1307713079                IEM_MC_COMMIT_EFLAGS(EFlags);
    1307813080                IEM_MC_ADVANCE_RIP_AND_FINISH();
     
    1308313085            case IEMMODE_64BIT:
    1308413086            {
    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);
    1308913091                IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst);
     13092                IEM_MC_LOCAL(uint8_t, bUnmapInfo);
    1309013093
    1309113094                IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 4);
     
    1309313096                IEM_MC_ASSIGN(u64Src, u64Imm);
    1309413097                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);
    1309613099                IEM_MC_FETCH_EFLAGS(EFlags);
    1309713100                IEM_MC_CALL_VOID_AIMPL_3(iemAImpl_test_u64, pu64Dst, u64Src, pEFlags);
    1309813101
    13099                 IEM_MC_MEM_COMMIT_AND_UNMAP(pu64Dst, IEM_ACCESS_DATA_R);
     13102                IEM_MC_MEM_COMMIT_AND_UNMAP_RO(pu64Dst, bUnmapInfo);
    1310013103                IEM_MC_COMMIT_EFLAGS(EFlags);
    1310113104                IEM_MC_ADVANCE_RIP_AND_FINISH();
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette