VirtualBox

Ignore:
Timestamp:
Aug 9, 2023 2:56:15 PM (16 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

    r100834 r100835  
    77657765        {
    77667766            case IEMMODE_16BIT:
    7767                 IEM_MC_BEGIN(3, 2);
     7767                IEM_MC_BEGIN(3, 3);
    77687768                IEM_MC_ARG(uint16_t *,  pu16Dst,    0);
    77697769                IEM_MC_ARG(uint8_t,     cShiftArg,  1);
    77707770                IEM_MC_ARG_LOCAL_EFLAGS(pEFlags, EFlags, 2);
    77717771                IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst);
     7772                IEM_MC_LOCAL(uint8_t, bUnmapInfo);
    77727773
    77737774                IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1);
     
    77757776                IEM_MC_ASSIGN(cShiftArg, cShift);
    77767777                IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
    7777                 IEM_MC_MEM_MAP(pu16Dst, IEM_ACCESS_DATA_RW, pVCpu->iem.s.iEffSeg, GCPtrEffDst, 0 /*arg*/);
     7778                IEM_MC_MEM_MAP_U16_RW(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst);
    77787779                IEM_MC_FETCH_EFLAGS(EFlags);
    77797780                IEM_MC_CALL_VOID_AIMPL_3(pImpl->pfnNormalU16, pu16Dst, cShiftArg, pEFlags);
    77807781
    7781                 IEM_MC_MEM_COMMIT_AND_UNMAP(pu16Dst, IEM_ACCESS_DATA_RW);
     7782                IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu16Dst, bUnmapInfo);
    77827783                IEM_MC_COMMIT_EFLAGS(EFlags);
    77837784                IEM_MC_ADVANCE_RIP_AND_FINISH();
     
    77867787
    77877788            case IEMMODE_32BIT:
    7788                 IEM_MC_BEGIN(3, 2);
     7789                IEM_MC_BEGIN(3, 3);
    77897790                IEM_MC_ARG(uint32_t *,  pu32Dst,    0);
    77907791                IEM_MC_ARG(uint8_t,     cShiftArg,  1);
    77917792                IEM_MC_ARG_LOCAL_EFLAGS(pEFlags, EFlags, 2);
    77927793                IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst);
     7794                IEM_MC_LOCAL(uint8_t, bUnmapInfo);
    77937795
    77947796                IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1);
     
    77967798                IEM_MC_ASSIGN(cShiftArg, cShift);
    77977799                IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
    7798                 IEM_MC_MEM_MAP(pu32Dst, IEM_ACCESS_DATA_RW, pVCpu->iem.s.iEffSeg, GCPtrEffDst, 0 /*arg*/);
     7800                IEM_MC_MEM_MAP_U32_RW(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst);
    77997801                IEM_MC_FETCH_EFLAGS(EFlags);
    78007802                IEM_MC_CALL_VOID_AIMPL_3(pImpl->pfnNormalU32, pu32Dst, cShiftArg, pEFlags);
    78017803
    7802                 IEM_MC_MEM_COMMIT_AND_UNMAP(pu32Dst, IEM_ACCESS_DATA_RW);
     7804                IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu32Dst, bUnmapInfo);
    78037805                IEM_MC_COMMIT_EFLAGS(EFlags);
    78047806                IEM_MC_ADVANCE_RIP_AND_FINISH();
     
    78077809
    78087810            case IEMMODE_64BIT:
    7809                 IEM_MC_BEGIN(3, 2);
     7811                IEM_MC_BEGIN(3, 3);
    78107812                IEM_MC_ARG(uint64_t *,  pu64Dst,    0);
    78117813                IEM_MC_ARG(uint8_t,     cShiftArg,  1);
    78127814                IEM_MC_ARG_LOCAL_EFLAGS(pEFlags, EFlags, 2);
    78137815                IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst);
     7816                IEM_MC_LOCAL(uint8_t, bUnmapInfo);
    78147817
    78157818                IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1);
     
    78177820                IEM_MC_ASSIGN(cShiftArg, cShift);
    78187821                IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
    7819                 IEM_MC_MEM_MAP(pu64Dst, IEM_ACCESS_DATA_RW, pVCpu->iem.s.iEffSeg, GCPtrEffDst, 0 /*arg*/);
     7822                IEM_MC_MEM_MAP_U64_RW(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst);
    78207823                IEM_MC_FETCH_EFLAGS(EFlags);
    78217824                IEM_MC_CALL_VOID_AIMPL_3(pImpl->pfnNormalU64, pu64Dst, cShiftArg, pEFlags);
    78227825
    7823                 IEM_MC_MEM_COMMIT_AND_UNMAP(pu64Dst, IEM_ACCESS_DATA_RW);
     7826                IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu64Dst, bUnmapInfo);
    78247827                IEM_MC_COMMIT_EFLAGS(EFlags);
    78257828                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