Changeset 100835 in vbox for trunk/src/VBox/VMM/VMMAll/IEMAllInstOneByte.cpp.h
- Timestamp:
- Aug 9, 2023 2:56:15 PM (16 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllInstOneByte.cpp.h
r100834 r100835 7765 7765 { 7766 7766 case IEMMODE_16BIT: 7767 IEM_MC_BEGIN(3, 2);7767 IEM_MC_BEGIN(3, 3); 7768 7768 IEM_MC_ARG(uint16_t *, pu16Dst, 0); 7769 7769 IEM_MC_ARG(uint8_t, cShiftArg, 1); 7770 7770 IEM_MC_ARG_LOCAL_EFLAGS(pEFlags, EFlags, 2); 7771 7771 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 7772 IEM_MC_LOCAL(uint8_t, bUnmapInfo); 7772 7773 7773 7774 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); … … 7775 7776 IEM_MC_ASSIGN(cShiftArg, cShift); 7776 7777 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); 7778 7779 IEM_MC_FETCH_EFLAGS(EFlags); 7779 7780 IEM_MC_CALL_VOID_AIMPL_3(pImpl->pfnNormalU16, pu16Dst, cShiftArg, pEFlags); 7780 7781 7781 IEM_MC_MEM_COMMIT_AND_UNMAP (pu16Dst, IEM_ACCESS_DATA_RW);7782 IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu16Dst, bUnmapInfo); 7782 7783 IEM_MC_COMMIT_EFLAGS(EFlags); 7783 7784 IEM_MC_ADVANCE_RIP_AND_FINISH(); … … 7786 7787 7787 7788 case IEMMODE_32BIT: 7788 IEM_MC_BEGIN(3, 2);7789 IEM_MC_BEGIN(3, 3); 7789 7790 IEM_MC_ARG(uint32_t *, pu32Dst, 0); 7790 7791 IEM_MC_ARG(uint8_t, cShiftArg, 1); 7791 7792 IEM_MC_ARG_LOCAL_EFLAGS(pEFlags, EFlags, 2); 7792 7793 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 7794 IEM_MC_LOCAL(uint8_t, bUnmapInfo); 7793 7795 7794 7796 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); … … 7796 7798 IEM_MC_ASSIGN(cShiftArg, cShift); 7797 7799 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); 7799 7801 IEM_MC_FETCH_EFLAGS(EFlags); 7800 7802 IEM_MC_CALL_VOID_AIMPL_3(pImpl->pfnNormalU32, pu32Dst, cShiftArg, pEFlags); 7801 7803 7802 IEM_MC_MEM_COMMIT_AND_UNMAP (pu32Dst, IEM_ACCESS_DATA_RW);7804 IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu32Dst, bUnmapInfo); 7803 7805 IEM_MC_COMMIT_EFLAGS(EFlags); 7804 7806 IEM_MC_ADVANCE_RIP_AND_FINISH(); … … 7807 7809 7808 7810 case IEMMODE_64BIT: 7809 IEM_MC_BEGIN(3, 2);7811 IEM_MC_BEGIN(3, 3); 7810 7812 IEM_MC_ARG(uint64_t *, pu64Dst, 0); 7811 7813 IEM_MC_ARG(uint8_t, cShiftArg, 1); 7812 7814 IEM_MC_ARG_LOCAL_EFLAGS(pEFlags, EFlags, 2); 7813 7815 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 7816 IEM_MC_LOCAL(uint8_t, bUnmapInfo); 7814 7817 7815 7818 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); … … 7817 7820 IEM_MC_ASSIGN(cShiftArg, cShift); 7818 7821 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); 7820 7823 IEM_MC_FETCH_EFLAGS(EFlags); 7821 7824 IEM_MC_CALL_VOID_AIMPL_3(pImpl->pfnNormalU64, pu64Dst, cShiftArg, pEFlags); 7822 7825 7823 IEM_MC_MEM_COMMIT_AND_UNMAP (pu64Dst, IEM_ACCESS_DATA_RW);7826 IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu64Dst, bUnmapInfo); 7824 7827 IEM_MC_COMMIT_EFLAGS(EFlags); 7825 7828 IEM_MC_ADVANCE_RIP_AND_FINISH();
Note:
See TracChangeset
for help on using the changeset viewer.