Index: trunk/src/VBox/VMM/VMMAll/IEMAllInstTwoByte0f.cpp.h
===================================================================
--- trunk/src/VBox/VMM/VMMAll/IEMAllInstTwoByte0f.cpp.h	(revision 100840)
+++ trunk/src/VBox/VMM/VMMAll/IEMAllInstTwoByte0f.cpp.h	(revision 100841)
@@ -9435,5 +9435,5 @@
         {
             case IEMMODE_16BIT:
-                IEM_MC_BEGIN(4, 2);
+                IEM_MC_BEGIN(4, 3);
                 IEM_MC_ARG(uint16_t *,              pu16Dst,                0);
                 IEM_MC_ARG(uint16_t,                u16Src,                 1);
@@ -9441,4 +9441,5 @@
                 IEM_MC_ARG_LOCAL_EFLAGS(            pEFlags, EFlags,        3);
                 IEM_MC_LOCAL(RTGCPTR,               GCPtrEffDst);
+                IEM_MC_LOCAL(uint8_t,               bUnmapInfo);
 
                 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1);
@@ -9448,8 +9449,8 @@
                 IEM_MC_FETCH_GREG_U16(u16Src, IEM_GET_MODRM_REG(pVCpu, bRm));
                 IEM_MC_FETCH_EFLAGS(EFlags);
-                IEM_MC_MEM_MAP(pu16Dst, IEM_ACCESS_DATA_RW, pVCpu->iem.s.iEffSeg, GCPtrEffDst, 0);
+                IEM_MC_MEM_MAP_U16_RW(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst);
                 IEM_MC_CALL_VOID_AIMPL_4(pImpl->pfnNormalU16, pu16Dst, u16Src, cShiftArg, pEFlags);
 
-                IEM_MC_MEM_COMMIT_AND_UNMAP(pu16Dst, IEM_ACCESS_DATA_RW);
+                IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu16Dst, bUnmapInfo);
                 IEM_MC_COMMIT_EFLAGS(EFlags);
                 IEM_MC_ADVANCE_RIP_AND_FINISH();
@@ -9458,5 +9459,5 @@
 
             case IEMMODE_32BIT:
-                IEM_MC_BEGIN(4, 2);
+                IEM_MC_BEGIN(4, 3);
                 IEM_MC_ARG(uint32_t *,              pu32Dst,                0);
                 IEM_MC_ARG(uint32_t,                u32Src,                 1);
@@ -9464,4 +9465,5 @@
                 IEM_MC_ARG_LOCAL_EFLAGS(            pEFlags, EFlags,        3);
                 IEM_MC_LOCAL(RTGCPTR,               GCPtrEffDst);
+                IEM_MC_LOCAL(uint8_t,               bUnmapInfo);
 
                 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1);
@@ -9471,8 +9473,8 @@
                 IEM_MC_FETCH_GREG_U32(u32Src, IEM_GET_MODRM_REG(pVCpu, bRm));
                 IEM_MC_FETCH_EFLAGS(EFlags);
-                IEM_MC_MEM_MAP(pu32Dst, IEM_ACCESS_DATA_RW, pVCpu->iem.s.iEffSeg, GCPtrEffDst, 0);
+                IEM_MC_MEM_MAP_U32_RW(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst);
                 IEM_MC_CALL_VOID_AIMPL_4(pImpl->pfnNormalU32, pu32Dst, u32Src, cShiftArg, pEFlags);
 
-                IEM_MC_MEM_COMMIT_AND_UNMAP(pu32Dst, IEM_ACCESS_DATA_RW);
+                IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu32Dst, bUnmapInfo);
                 IEM_MC_COMMIT_EFLAGS(EFlags);
                 IEM_MC_ADVANCE_RIP_AND_FINISH();
@@ -9481,5 +9483,5 @@
 
             case IEMMODE_64BIT:
-                IEM_MC_BEGIN(4, 2);
+                IEM_MC_BEGIN(4, 3);
                 IEM_MC_ARG(uint64_t *,              pu64Dst,                0);
                 IEM_MC_ARG(uint64_t,                u64Src,                 1);
@@ -9487,4 +9489,5 @@
                 IEM_MC_ARG_LOCAL_EFLAGS(            pEFlags, EFlags,        3);
                 IEM_MC_LOCAL(RTGCPTR,               GCPtrEffDst);
+                IEM_MC_LOCAL(uint8_t,               bUnmapInfo);
 
                 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1);
@@ -9494,8 +9497,8 @@
                 IEM_MC_FETCH_GREG_U64(u64Src, IEM_GET_MODRM_REG(pVCpu, bRm));
                 IEM_MC_FETCH_EFLAGS(EFlags);
-                IEM_MC_MEM_MAP(pu64Dst, IEM_ACCESS_DATA_RW, pVCpu->iem.s.iEffSeg, GCPtrEffDst, 0);
+                IEM_MC_MEM_MAP_U64_RW(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst);
                 IEM_MC_CALL_VOID_AIMPL_4(pImpl->pfnNormalU64, pu64Dst, u64Src, cShiftArg, pEFlags);
 
-                IEM_MC_MEM_COMMIT_AND_UNMAP(pu64Dst, IEM_ACCESS_DATA_RW);
+                IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu64Dst, bUnmapInfo);
                 IEM_MC_COMMIT_EFLAGS(EFlags);
                 IEM_MC_ADVANCE_RIP_AND_FINISH();
@@ -9584,5 +9587,5 @@
         {
             case IEMMODE_16BIT:
-                IEM_MC_BEGIN(4, 2);
+                IEM_MC_BEGIN(4, 3);
                 IEM_MC_ARG(uint16_t *,              pu16Dst,                0);
                 IEM_MC_ARG(uint16_t,                u16Src,                 1);
@@ -9590,4 +9593,5 @@
                 IEM_MC_ARG_LOCAL_EFLAGS(            pEFlags, EFlags,        3);
                 IEM_MC_LOCAL(RTGCPTR,               GCPtrEffDst);
+                IEM_MC_LOCAL(uint8_t,               bUnmapInfo);
 
                 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0);
@@ -9596,8 +9600,8 @@
                 IEM_MC_FETCH_GREG_U8(cShiftArg, X86_GREG_xCX);
                 IEM_MC_FETCH_EFLAGS(EFlags);
-                IEM_MC_MEM_MAP(pu16Dst, IEM_ACCESS_DATA_RW, pVCpu->iem.s.iEffSeg, GCPtrEffDst, 0);
+                IEM_MC_MEM_MAP_U16_RW(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst);
                 IEM_MC_CALL_VOID_AIMPL_4(pImpl->pfnNormalU16, pu16Dst, u16Src, cShiftArg, pEFlags);
 
-                IEM_MC_MEM_COMMIT_AND_UNMAP(pu16Dst, IEM_ACCESS_DATA_RW);
+                IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu16Dst, bUnmapInfo);
                 IEM_MC_COMMIT_EFLAGS(EFlags);
                 IEM_MC_ADVANCE_RIP_AND_FINISH();
@@ -9606,5 +9610,5 @@
 
             case IEMMODE_32BIT:
-                IEM_MC_BEGIN(4, 2);
+                IEM_MC_BEGIN(4, 3);
                 IEM_MC_ARG(uint32_t *,              pu32Dst,                0);
                 IEM_MC_ARG(uint32_t,                u32Src,                 1);
@@ -9612,4 +9616,5 @@
                 IEM_MC_ARG_LOCAL_EFLAGS(            pEFlags, EFlags,        3);
                 IEM_MC_LOCAL(RTGCPTR,               GCPtrEffDst);
+                IEM_MC_LOCAL(uint8_t,               bUnmapInfo);
 
                 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0);
@@ -9618,8 +9623,8 @@
                 IEM_MC_FETCH_GREG_U8(cShiftArg, X86_GREG_xCX);
                 IEM_MC_FETCH_EFLAGS(EFlags);
-                IEM_MC_MEM_MAP(pu32Dst, IEM_ACCESS_DATA_RW, pVCpu->iem.s.iEffSeg, GCPtrEffDst, 0);
+                IEM_MC_MEM_MAP_U32_RW(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst);
                 IEM_MC_CALL_VOID_AIMPL_4(pImpl->pfnNormalU32, pu32Dst, u32Src, cShiftArg, pEFlags);
 
-                IEM_MC_MEM_COMMIT_AND_UNMAP(pu32Dst, IEM_ACCESS_DATA_RW);
+                IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu32Dst, bUnmapInfo);
                 IEM_MC_COMMIT_EFLAGS(EFlags);
                 IEM_MC_ADVANCE_RIP_AND_FINISH();
@@ -9628,5 +9633,5 @@
 
             case IEMMODE_64BIT:
-                IEM_MC_BEGIN(4, 2);
+                IEM_MC_BEGIN(4, 3);
                 IEM_MC_ARG(uint64_t *,              pu64Dst,                0);
                 IEM_MC_ARG(uint64_t,                u64Src,                 1);
@@ -9634,4 +9639,5 @@
                 IEM_MC_ARG_LOCAL_EFLAGS(            pEFlags, EFlags,        3);
                 IEM_MC_LOCAL(RTGCPTR,               GCPtrEffDst);
+                IEM_MC_LOCAL(uint8_t,               bUnmapInfo);
 
                 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0);
@@ -9640,8 +9646,8 @@
                 IEM_MC_FETCH_GREG_U8(cShiftArg, X86_GREG_xCX);
                 IEM_MC_FETCH_EFLAGS(EFlags);
-                IEM_MC_MEM_MAP(pu64Dst, IEM_ACCESS_DATA_RW, pVCpu->iem.s.iEffSeg, GCPtrEffDst, 0);
+                IEM_MC_MEM_MAP_U64_RW(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst);
                 IEM_MC_CALL_VOID_AIMPL_4(pImpl->pfnNormalU64, pu64Dst, u64Src, cShiftArg, pEFlags);
 
-                IEM_MC_MEM_COMMIT_AND_UNMAP(pu64Dst, IEM_ACCESS_DATA_RW);
+                IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu64Dst, bUnmapInfo);
                 IEM_MC_COMMIT_EFLAGS(EFlags);
                 IEM_MC_ADVANCE_RIP_AND_FINISH();
