Changeset 108287 in vbox
- Timestamp:
- Feb 19, 2025 11:35:43 AM (3 weeks ago)
- svn:sync-xref-src-repo-rev:
- 167630
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllInstPython.py
r108269 r108287 3279 3279 'IEM_MC_MEM_COMMIT_AND_UNMAP_WO': (McBlock.parseMcGeneric, True, True, True, ), 3280 3280 'IEM_MC_MEM_COMMIT_AND_UNMAP_FOR_FPU_STORE_WO': (McBlock.parseMcGeneric, True, True, False, ), 3281 'IEM_MC_MEM_ MAP_D80_WO':(McBlock.parseMcGeneric, True, True, True, ),3282 'IEM_MC_MEM_ MAP_I16_WO':(McBlock.parseMcGeneric, True, True, True, ),3283 'IEM_MC_MEM_ MAP_I32_WO':(McBlock.parseMcGeneric, True, True, True, ),3284 'IEM_MC_MEM_ MAP_I64_WO':(McBlock.parseMcGeneric, True, True, True, ),3285 'IEM_MC_MEM_ MAP_R32_WO':(McBlock.parseMcGeneric, True, True, True, ),3286 'IEM_MC_MEM_ MAP_R64_WO':(McBlock.parseMcGeneric, True, True, True, ),3287 'IEM_MC_MEM_ MAP_R80_WO':(McBlock.parseMcGeneric, True, True, True, ),3288 'IEM_MC_MEM_ MAP_U8_ATOMIC':(McBlock.parseMcGeneric, True, True, True, ),3289 'IEM_MC_MEM_ MAP_U8_RW':(McBlock.parseMcGeneric, True, True, True, ),3290 'IEM_MC_MEM_ MAP_U8_RO':(McBlock.parseMcGeneric, True, True, True, ),3291 'IEM_MC_MEM_ MAP_U8_WO':(McBlock.parseMcGeneric, True, True, True, ),3292 'IEM_MC_MEM_ MAP_U16_ATOMIC':(McBlock.parseMcGeneric, True, True, True, ),3293 'IEM_MC_MEM_ MAP_U16_RW':(McBlock.parseMcGeneric, True, True, True, ),3294 'IEM_MC_MEM_ MAP_U16_RO':(McBlock.parseMcGeneric, True, True, True, ),3295 'IEM_MC_MEM_ MAP_U16_WO':(McBlock.parseMcGeneric, True, True, True, ),3296 'IEM_MC_MEM_ MAP_U32_ATOMIC':(McBlock.parseMcGeneric, True, True, True, ),3297 'IEM_MC_MEM_ MAP_U32_RW':(McBlock.parseMcGeneric, True, True, True, ),3298 'IEM_MC_MEM_ MAP_U32_RO':(McBlock.parseMcGeneric, True, True, True, ),3299 'IEM_MC_MEM_ MAP_U32_WO':(McBlock.parseMcGeneric, True, True, True, ),3300 'IEM_MC_MEM_ MAP_U64_ATOMIC':(McBlock.parseMcGeneric, True, True, True, ),3301 'IEM_MC_MEM_ MAP_U64_RW':(McBlock.parseMcGeneric, True, True, True, ),3302 'IEM_MC_MEM_ MAP_U64_RO':(McBlock.parseMcGeneric, True, True, True, ),3303 'IEM_MC_MEM_ MAP_U64_WO':(McBlock.parseMcGeneric, True, True, True, ),3304 'IEM_MC_MEM_ MAP_U128_ATOMIC':(McBlock.parseMcGeneric, True, True, True, ),3305 'IEM_MC_MEM_ MAP_U128_RW':(McBlock.parseMcGeneric, True, True, True, ),3306 'IEM_MC_MEM_ MAP_U128_RO':(McBlock.parseMcGeneric, True, True, True, ),3307 'IEM_MC_MEM_ MAP_U128_WO':(McBlock.parseMcGeneric, True, True, True, ),3281 'IEM_MC_MEM_SEG_MAP_D80_WO': (McBlock.parseMcGeneric, True, True, True, ), 3282 'IEM_MC_MEM_SEG_MAP_I16_WO': (McBlock.parseMcGeneric, True, True, True, ), 3283 'IEM_MC_MEM_SEG_MAP_I32_WO': (McBlock.parseMcGeneric, True, True, True, ), 3284 'IEM_MC_MEM_SEG_MAP_I64_WO': (McBlock.parseMcGeneric, True, True, True, ), 3285 'IEM_MC_MEM_SEG_MAP_R32_WO': (McBlock.parseMcGeneric, True, True, True, ), 3286 'IEM_MC_MEM_SEG_MAP_R64_WO': (McBlock.parseMcGeneric, True, True, True, ), 3287 'IEM_MC_MEM_SEG_MAP_R80_WO': (McBlock.parseMcGeneric, True, True, True, ), 3288 'IEM_MC_MEM_SEG_MAP_U8_ATOMIC': (McBlock.parseMcGeneric, True, True, True, ), 3289 'IEM_MC_MEM_SEG_MAP_U8_RW': (McBlock.parseMcGeneric, True, True, True, ), 3290 'IEM_MC_MEM_SEG_MAP_U8_RO': (McBlock.parseMcGeneric, True, True, True, ), 3291 'IEM_MC_MEM_SEG_MAP_U8_WO': (McBlock.parseMcGeneric, True, True, True, ), 3292 'IEM_MC_MEM_SEG_MAP_U16_ATOMIC': (McBlock.parseMcGeneric, True, True, True, ), 3293 'IEM_MC_MEM_SEG_MAP_U16_RW': (McBlock.parseMcGeneric, True, True, True, ), 3294 'IEM_MC_MEM_SEG_MAP_U16_RO': (McBlock.parseMcGeneric, True, True, True, ), 3295 'IEM_MC_MEM_SEG_MAP_U16_WO': (McBlock.parseMcGeneric, True, True, True, ), 3296 'IEM_MC_MEM_SEG_MAP_U32_ATOMIC': (McBlock.parseMcGeneric, True, True, True, ), 3297 'IEM_MC_MEM_SEG_MAP_U32_RW': (McBlock.parseMcGeneric, True, True, True, ), 3298 'IEM_MC_MEM_SEG_MAP_U32_RO': (McBlock.parseMcGeneric, True, True, True, ), 3299 'IEM_MC_MEM_SEG_MAP_U32_WO': (McBlock.parseMcGeneric, True, True, True, ), 3300 'IEM_MC_MEM_SEG_MAP_U64_ATOMIC': (McBlock.parseMcGeneric, True, True, True, ), 3301 'IEM_MC_MEM_SEG_MAP_U64_RW': (McBlock.parseMcGeneric, True, True, True, ), 3302 'IEM_MC_MEM_SEG_MAP_U64_RO': (McBlock.parseMcGeneric, True, True, True, ), 3303 'IEM_MC_MEM_SEG_MAP_U64_WO': (McBlock.parseMcGeneric, True, True, True, ), 3304 'IEM_MC_MEM_SEG_MAP_U128_ATOMIC': (McBlock.parseMcGeneric, True, True, True, ), 3305 'IEM_MC_MEM_SEG_MAP_U128_RW': (McBlock.parseMcGeneric, True, True, True, ), 3306 'IEM_MC_MEM_SEG_MAP_U128_RO': (McBlock.parseMcGeneric, True, True, True, ), 3307 'IEM_MC_MEM_SEG_MAP_U128_WO': (McBlock.parseMcGeneric, True, True, True, ), 3308 3308 'IEM_MC_MEM_ROLLBACK_AND_UNMAP_WO': (McBlock.parseMcGeneric, True, True, True, ), 3309 3309 'IEM_MC_MERGE_YREG_U32_U96_ZX_VLMAX': (McBlock.parseMcGeneric, True, True, False, ), -
trunk/src/VBox/VMM/VMMAll/IEMAllN8veRecompiler.cpp
r108278 r108287 8773 8773 /** @todo Make the python script check that arguments aren't used after 8774 8774 * IEM_MC_CALL_XXXX. */ 8775 /** @todo There is a special with IEM_MC_MEM_ MAP_U16_RW and friends requiring8775 /** @todo There is a special with IEM_MC_MEM_SEG_MAP_U16_RW and friends requiring 8776 8776 * a IEM_MC_MEM_COMMIT_AND_UNMAP_RW after a AIMPL call typically with 8777 8777 * an argument value. There is also some FPU stuff. */ -
trunk/src/VBox/VMM/VMMAll/IEMAllThrdPython.py
r108269 r108287 971 971 'IEM_MC_STORE_MEM_U256_NO_AC': ( 0, 'IEM_MC_STORE_MEM_FLAT_U256_NO_AC' ), 972 972 'IEM_MC_STORE_MEM_U256_ALIGN_AVX': ( 0, 'IEM_MC_STORE_MEM_FLAT_U256_ALIGN_AVX' ), 973 'IEM_MC_MEM_ MAP_D80_WO':( 2, 'IEM_MC_MEM_FLAT_MAP_D80_WO' ),974 'IEM_MC_MEM_ MAP_I16_WO':( 2, 'IEM_MC_MEM_FLAT_MAP_I16_WO' ),975 'IEM_MC_MEM_ MAP_I32_WO':( 2, 'IEM_MC_MEM_FLAT_MAP_I32_WO' ),976 'IEM_MC_MEM_ MAP_I64_WO':( 2, 'IEM_MC_MEM_FLAT_MAP_I64_WO' ),977 'IEM_MC_MEM_ MAP_R32_WO':( 2, 'IEM_MC_MEM_FLAT_MAP_R32_WO' ),978 'IEM_MC_MEM_ MAP_R64_WO':( 2, 'IEM_MC_MEM_FLAT_MAP_R64_WO' ),979 'IEM_MC_MEM_ MAP_R80_WO':( 2, 'IEM_MC_MEM_FLAT_MAP_R80_WO' ),980 'IEM_MC_MEM_ MAP_U8_ATOMIC':( 2, 'IEM_MC_MEM_FLAT_MAP_U8_ATOMIC' ),981 'IEM_MC_MEM_ MAP_U8_RW':( 2, 'IEM_MC_MEM_FLAT_MAP_U8_RW' ),982 'IEM_MC_MEM_ MAP_U8_RO':( 2, 'IEM_MC_MEM_FLAT_MAP_U8_RO' ),983 'IEM_MC_MEM_ MAP_U8_WO':( 2, 'IEM_MC_MEM_FLAT_MAP_U8_WO' ),984 'IEM_MC_MEM_ MAP_U16_ATOMIC':( 2, 'IEM_MC_MEM_FLAT_MAP_U16_ATOMIC' ),985 'IEM_MC_MEM_ MAP_U16_RW':( 2, 'IEM_MC_MEM_FLAT_MAP_U16_RW' ),986 'IEM_MC_MEM_ MAP_U16_RO':( 2, 'IEM_MC_MEM_FLAT_MAP_U16_RO' ),987 'IEM_MC_MEM_ MAP_U16_WO':( 2, 'IEM_MC_MEM_FLAT_MAP_U16_WO' ),988 'IEM_MC_MEM_ MAP_U32_ATOMIC':( 2, 'IEM_MC_MEM_FLAT_MAP_U32_ATOMIC' ),989 'IEM_MC_MEM_ MAP_U32_RW':( 2, 'IEM_MC_MEM_FLAT_MAP_U32_RW' ),990 'IEM_MC_MEM_ MAP_U32_RO':( 2, 'IEM_MC_MEM_FLAT_MAP_U32_RO' ),991 'IEM_MC_MEM_ MAP_U32_WO':( 2, 'IEM_MC_MEM_FLAT_MAP_U32_WO' ),992 'IEM_MC_MEM_ MAP_U64_ATOMIC':( 2, 'IEM_MC_MEM_FLAT_MAP_U64_ATOMIC' ),993 'IEM_MC_MEM_ MAP_U64_RW':( 2, 'IEM_MC_MEM_FLAT_MAP_U64_RW' ),994 'IEM_MC_MEM_ MAP_U64_RO':( 2, 'IEM_MC_MEM_FLAT_MAP_U64_RO' ),995 'IEM_MC_MEM_ MAP_U64_WO':( 2, 'IEM_MC_MEM_FLAT_MAP_U64_WO' ),996 'IEM_MC_MEM_ MAP_U128_ATOMIC':( 2, 'IEM_MC_MEM_FLAT_MAP_U128_ATOMIC' ),997 'IEM_MC_MEM_ MAP_U128_RW':( 2, 'IEM_MC_MEM_FLAT_MAP_U128_RW' ),998 'IEM_MC_MEM_ MAP_U128_RO':( 2, 'IEM_MC_MEM_FLAT_MAP_U128_RO' ),999 'IEM_MC_MEM_ MAP_U128_WO':( 2, 'IEM_MC_MEM_FLAT_MAP_U128_WO' ),1000 'IEM_MC_MEM_ MAP_EX':( 3, 'IEM_MC_MEM_FLAT_MAP_EX' ),973 'IEM_MC_MEM_SEG_MAP_D80_WO': ( 2, 'IEM_MC_MEM_FLAT_MAP_D80_WO' ), 974 'IEM_MC_MEM_SEG_MAP_I16_WO': ( 2, 'IEM_MC_MEM_FLAT_MAP_I16_WO' ), 975 'IEM_MC_MEM_SEG_MAP_I32_WO': ( 2, 'IEM_MC_MEM_FLAT_MAP_I32_WO' ), 976 'IEM_MC_MEM_SEG_MAP_I64_WO': ( 2, 'IEM_MC_MEM_FLAT_MAP_I64_WO' ), 977 'IEM_MC_MEM_SEG_MAP_R32_WO': ( 2, 'IEM_MC_MEM_FLAT_MAP_R32_WO' ), 978 'IEM_MC_MEM_SEG_MAP_R64_WO': ( 2, 'IEM_MC_MEM_FLAT_MAP_R64_WO' ), 979 'IEM_MC_MEM_SEG_MAP_R80_WO': ( 2, 'IEM_MC_MEM_FLAT_MAP_R80_WO' ), 980 'IEM_MC_MEM_SEG_MAP_U8_ATOMIC': ( 2, 'IEM_MC_MEM_FLAT_MAP_U8_ATOMIC' ), 981 'IEM_MC_MEM_SEG_MAP_U8_RW': ( 2, 'IEM_MC_MEM_FLAT_MAP_U8_RW' ), 982 'IEM_MC_MEM_SEG_MAP_U8_RO': ( 2, 'IEM_MC_MEM_FLAT_MAP_U8_RO' ), 983 'IEM_MC_MEM_SEG_MAP_U8_WO': ( 2, 'IEM_MC_MEM_FLAT_MAP_U8_WO' ), 984 'IEM_MC_MEM_SEG_MAP_U16_ATOMIC': ( 2, 'IEM_MC_MEM_FLAT_MAP_U16_ATOMIC' ), 985 'IEM_MC_MEM_SEG_MAP_U16_RW': ( 2, 'IEM_MC_MEM_FLAT_MAP_U16_RW' ), 986 'IEM_MC_MEM_SEG_MAP_U16_RO': ( 2, 'IEM_MC_MEM_FLAT_MAP_U16_RO' ), 987 'IEM_MC_MEM_SEG_MAP_U16_WO': ( 2, 'IEM_MC_MEM_FLAT_MAP_U16_WO' ), 988 'IEM_MC_MEM_SEG_MAP_U32_ATOMIC': ( 2, 'IEM_MC_MEM_FLAT_MAP_U32_ATOMIC' ), 989 'IEM_MC_MEM_SEG_MAP_U32_RW': ( 2, 'IEM_MC_MEM_FLAT_MAP_U32_RW' ), 990 'IEM_MC_MEM_SEG_MAP_U32_RO': ( 2, 'IEM_MC_MEM_FLAT_MAP_U32_RO' ), 991 'IEM_MC_MEM_SEG_MAP_U32_WO': ( 2, 'IEM_MC_MEM_FLAT_MAP_U32_WO' ), 992 'IEM_MC_MEM_SEG_MAP_U64_ATOMIC': ( 2, 'IEM_MC_MEM_FLAT_MAP_U64_ATOMIC' ), 993 'IEM_MC_MEM_SEG_MAP_U64_RW': ( 2, 'IEM_MC_MEM_FLAT_MAP_U64_RW' ), 994 'IEM_MC_MEM_SEG_MAP_U64_RO': ( 2, 'IEM_MC_MEM_FLAT_MAP_U64_RO' ), 995 'IEM_MC_MEM_SEG_MAP_U64_WO': ( 2, 'IEM_MC_MEM_FLAT_MAP_U64_WO' ), 996 'IEM_MC_MEM_SEG_MAP_U128_ATOMIC': ( 2, 'IEM_MC_MEM_FLAT_MAP_U128_ATOMIC' ), 997 'IEM_MC_MEM_SEG_MAP_U128_RW': ( 2, 'IEM_MC_MEM_FLAT_MAP_U128_RW' ), 998 'IEM_MC_MEM_SEG_MAP_U128_RO': ( 2, 'IEM_MC_MEM_FLAT_MAP_U128_RO' ), 999 'IEM_MC_MEM_SEG_MAP_U128_WO': ( 2, 'IEM_MC_MEM_FLAT_MAP_U128_WO' ), 1000 'IEM_MC_MEM_SEG_MAP_EX': ( 3, 'IEM_MC_MEM_FLAT_MAP_EX' ), 1001 1001 }; 1002 1002 … … 1185 1185 and ( oNewStmt.sName.startswith('IEM_MC_FETCH_MEM') 1186 1186 or (oNewStmt.sName.startswith('IEM_MC_STORE_MEM_') and oNewStmt.sName.find('_BY_REF') < 0) 1187 or oNewStmt.sName.startswith('IEM_MC_MEM_ MAP') )):1187 or oNewStmt.sName.startswith('IEM_MC_MEM_SEG_MAP') )): 1188 1188 idxEffSeg = self.kdMemMcToFlatInfo[oNewStmt.sName][0]; 1189 1189 if idxEffSeg != -1: … … 1790 1790 'IEM_MC_STORE_MEM_U8_CONST': '__mem8c', 1791 1791 1792 'IEM_MC_MEM_ MAP_D80_WO':'__mem80',1793 'IEM_MC_MEM_ MAP_I16_WO':'__mem16',1794 'IEM_MC_MEM_ MAP_I32_WO':'__mem32',1795 'IEM_MC_MEM_ MAP_I64_WO':'__mem64',1796 'IEM_MC_MEM_ MAP_R32_WO':'__mem32',1797 'IEM_MC_MEM_ MAP_R64_WO':'__mem64',1798 'IEM_MC_MEM_ MAP_R80_WO':'__mem80',1799 'IEM_MC_MEM_ MAP_U128_ATOMIC':'__mem128a',1800 'IEM_MC_MEM_ MAP_U128_RO':'__mem128',1801 'IEM_MC_MEM_ MAP_U128_RW':'__mem128',1802 'IEM_MC_MEM_ MAP_U128_WO':'__mem128',1803 'IEM_MC_MEM_ MAP_U16_ATOMIC':'__mem16a',1804 'IEM_MC_MEM_ MAP_U16_RO':'__mem16',1805 'IEM_MC_MEM_ MAP_U16_RW':'__mem16',1806 'IEM_MC_MEM_ MAP_U16_WO':'__mem16',1807 'IEM_MC_MEM_ MAP_U32_ATOMIC':'__mem32a',1808 'IEM_MC_MEM_ MAP_U32_RO':'__mem32',1809 'IEM_MC_MEM_ MAP_U32_RW':'__mem32',1810 'IEM_MC_MEM_ MAP_U32_WO':'__mem32',1811 'IEM_MC_MEM_ MAP_U64_ATOMIC':'__mem64a',1812 'IEM_MC_MEM_ MAP_U64_RO':'__mem64',1813 'IEM_MC_MEM_ MAP_U64_RW':'__mem64',1814 'IEM_MC_MEM_ MAP_U64_WO':'__mem64',1815 'IEM_MC_MEM_ MAP_U8_ATOMIC':'__mem8a',1816 'IEM_MC_MEM_ MAP_U8_RO':'__mem8',1817 'IEM_MC_MEM_ MAP_U8_RW':'__mem8',1818 'IEM_MC_MEM_ MAP_U8_WO':'__mem8',1792 'IEM_MC_MEM_SEG_MAP_D80_WO': '__mem80', 1793 'IEM_MC_MEM_SEG_MAP_I16_WO': '__mem16', 1794 'IEM_MC_MEM_SEG_MAP_I32_WO': '__mem32', 1795 'IEM_MC_MEM_SEG_MAP_I64_WO': '__mem64', 1796 'IEM_MC_MEM_SEG_MAP_R32_WO': '__mem32', 1797 'IEM_MC_MEM_SEG_MAP_R64_WO': '__mem64', 1798 'IEM_MC_MEM_SEG_MAP_R80_WO': '__mem80', 1799 'IEM_MC_MEM_SEG_MAP_U128_ATOMIC': '__mem128a', 1800 'IEM_MC_MEM_SEG_MAP_U128_RO': '__mem128', 1801 'IEM_MC_MEM_SEG_MAP_U128_RW': '__mem128', 1802 'IEM_MC_MEM_SEG_MAP_U128_WO': '__mem128', 1803 'IEM_MC_MEM_SEG_MAP_U16_ATOMIC': '__mem16a', 1804 'IEM_MC_MEM_SEG_MAP_U16_RO': '__mem16', 1805 'IEM_MC_MEM_SEG_MAP_U16_RW': '__mem16', 1806 'IEM_MC_MEM_SEG_MAP_U16_WO': '__mem16', 1807 'IEM_MC_MEM_SEG_MAP_U32_ATOMIC': '__mem32a', 1808 'IEM_MC_MEM_SEG_MAP_U32_RO': '__mem32', 1809 'IEM_MC_MEM_SEG_MAP_U32_RW': '__mem32', 1810 'IEM_MC_MEM_SEG_MAP_U32_WO': '__mem32', 1811 'IEM_MC_MEM_SEG_MAP_U64_ATOMIC': '__mem64a', 1812 'IEM_MC_MEM_SEG_MAP_U64_RO': '__mem64', 1813 'IEM_MC_MEM_SEG_MAP_U64_RW': '__mem64', 1814 'IEM_MC_MEM_SEG_MAP_U64_WO': '__mem64', 1815 'IEM_MC_MEM_SEG_MAP_U8_ATOMIC': '__mem8a', 1816 'IEM_MC_MEM_SEG_MAP_U8_RO': '__mem8', 1817 'IEM_MC_MEM_SEG_MAP_U8_RW': '__mem8', 1818 'IEM_MC_MEM_SEG_MAP_U8_WO': '__mem8', 1819 1819 }; 1820 1820 ## Used by analyzeAndAnnotateName for non-memory MC blocks. -
trunk/src/VBox/VMM/VMMAll/target-x86/IEMAllInstOneByte-x86.cpp.h
r108269 r108287 124 124 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 125 125 IEM_MC_ARG(uint8_t *, pu8Dst, 1); \ 126 IEM_MC_MEM_ MAP_U8_RW(pu8Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \126 IEM_MC_MEM_SEG_MAP_U8_RW(pu8Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 127 127 IEM_MC_ARG(uint8_t, u8Src, 2); \ 128 128 IEM_MC_FETCH_GREG_U8(u8Src, IEM_GET_MODRM_REG(pVCpu, a_bRm)); \ … … 144 144 IEM_MC_LOCAL(uint8_t, bMapInfoDst); \ 145 145 IEM_MC_ARG(uint8_t *, pu8Dst, 1); \ 146 IEM_MC_MEM_ MAP_U8_ATOMIC(pu8Dst, bMapInfoDst, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \146 IEM_MC_MEM_SEG_MAP_U8_ATOMIC(pu8Dst, bMapInfoDst, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 147 147 IEM_MC_ARG(uint8_t, u8Src, 2); \ 148 148 IEM_MC_FETCH_GREG_U8(u8Src, IEM_GET_MODRM_REG(pVCpu, a_bRm)); \ … … 210 210 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 211 211 IEM_MC_ARG(uint8_t const *, pu8Dst, 1); \ 212 IEM_MC_MEM_ MAP_U8_RO(pu8Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \212 IEM_MC_MEM_SEG_MAP_U8_RO(pu8Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 213 213 IEM_MC_ARG(uint8_t, u8Src, 2); \ 214 214 IEM_MC_FETCH_GREG_U8(u8Src, IEM_GET_MODRM_REG(pVCpu, a_bRm)); \ … … 452 452 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 453 453 IEM_MC_ARG(uint16_t *, pu16Dst, 1); \ 454 IEM_MC_MEM_ MAP_U16_RW(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \454 IEM_MC_MEM_SEG_MAP_U16_RW(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 455 455 IEM_MC_ARG(uint16_t, u16Src, 2); \ 456 456 IEM_MC_FETCH_GREG_U16(u16Src, IEM_GET_MODRM_REG(pVCpu, a_bRm)); \ … … 472 472 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 473 473 IEM_MC_ARG(uint32_t *, pu32Dst, 1); \ 474 IEM_MC_MEM_ MAP_U32_RW(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \474 IEM_MC_MEM_SEG_MAP_U32_RW(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 475 475 IEM_MC_ARG(uint32_t, u32Src, 2); \ 476 476 IEM_MC_FETCH_GREG_U32(u32Src, IEM_GET_MODRM_REG(pVCpu, a_bRm)); \ … … 492 492 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 493 493 IEM_MC_ARG(uint64_t *, pu64Dst, 1); \ 494 IEM_MC_MEM_ MAP_U64_RW(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \494 IEM_MC_MEM_SEG_MAP_U64_RW(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 495 495 IEM_MC_ARG(uint64_t, u64Src, 2); \ 496 496 IEM_MC_FETCH_GREG_U64(u64Src, IEM_GET_MODRM_REG(pVCpu, a_bRm)); \ … … 522 522 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 523 523 IEM_MC_ARG(uint16_t *, pu16Dst, 1); \ 524 IEM_MC_MEM_ MAP_U16_ATOMIC(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \524 IEM_MC_MEM_SEG_MAP_U16_ATOMIC(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 525 525 IEM_MC_ARG(uint16_t, u16Src, 2); \ 526 526 IEM_MC_FETCH_GREG_U16(u16Src, IEM_GET_MODRM_REG(pVCpu, a_bRm)); \ … … 542 542 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 543 543 IEM_MC_ARG(uint32_t *, pu32Dst, 1); \ 544 IEM_MC_MEM_ MAP_U32_ATOMIC(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \544 IEM_MC_MEM_SEG_MAP_U32_ATOMIC(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 545 545 IEM_MC_ARG(uint32_t, u32Src, 2); \ 546 546 IEM_MC_FETCH_GREG_U32(u32Src, IEM_GET_MODRM_REG(pVCpu, a_bRm)); \ … … 562 562 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 563 563 IEM_MC_ARG(uint64_t *, pu64Dst, 1); \ 564 IEM_MC_MEM_ MAP_U64_ATOMIC(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \564 IEM_MC_MEM_SEG_MAP_U64_ATOMIC(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 565 565 IEM_MC_ARG(uint64_t, u64Src, 2); \ 566 566 IEM_MC_FETCH_GREG_U64(u64Src, IEM_GET_MODRM_REG(pVCpu, a_bRm)); \ … … 686 686 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 687 687 IEM_MC_ARG(uint16_t const *, pu16Dst, 1); \ 688 IEM_MC_MEM_ MAP_U16_RO(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \688 IEM_MC_MEM_SEG_MAP_U16_RO(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 689 689 IEM_MC_ARG(uint16_t, u16Src, 2); \ 690 690 IEM_MC_FETCH_GREG_U16(u16Src, IEM_GET_MODRM_REG(pVCpu, a_bRm)); \ … … 714 714 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 715 715 IEM_MC_ARG(uint32_t const *, pu32Dst, 1); \ 716 IEM_MC_MEM_ MAP_U32_RO(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \716 IEM_MC_MEM_SEG_MAP_U32_RO(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 717 717 IEM_MC_ARG(uint32_t, u32Src, 2); \ 718 718 IEM_MC_FETCH_GREG_U32(u32Src, IEM_GET_MODRM_REG(pVCpu, a_bRm)); \ … … 742 742 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 743 743 IEM_MC_ARG(uint64_t const *, pu64Dst, 1); \ 744 IEM_MC_MEM_ MAP_U64_RO(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \744 IEM_MC_MEM_SEG_MAP_U64_RO(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 745 745 IEM_MC_ARG(uint64_t, u64Src, 2); \ 746 746 IEM_MC_FETCH_GREG_U64(u64Src, IEM_GET_MODRM_REG(pVCpu, a_bRm)); \ … … 3171 3171 IEM_MC_LOCAL(uint8_t, bUnmapInfo); 3172 3172 IEM_MC_ARG(uint16_t *, pu16Dst, 1); 3173 IEM_MC_MEM_ MAP_U16_RW(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst);3173 IEM_MC_MEM_SEG_MAP_U16_RW(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); 3174 3174 IEM_MC_ARG(uint16_t, u16Src, 2); 3175 3175 IEM_MC_FETCH_GREG_U16(u16Src, IEM_GET_MODRM_REG_8(bRm)); … … 4436 4436 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 4437 4437 IEM_MC_ARG(uint8_t *, pu8Dst, 1); \ 4438 IEM_MC_MEM_ MAP_U8_RW(pu8Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \4438 IEM_MC_MEM_SEG_MAP_U8_RW(pu8Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 4439 4439 IEM_MC_ARG_CONST(uint8_t, u8Src, /*=*/ u8Imm, 2); \ 4440 4440 IEM_MC_ARG_EFLAGS( fEFlagsIn, 0); \ … … 4456 4456 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 4457 4457 IEM_MC_ARG(uint8_t *, pu8Dst, 1); \ 4458 IEM_MC_MEM_ MAP_U8_ATOMIC(pu8Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \4458 IEM_MC_MEM_SEG_MAP_U8_ATOMIC(pu8Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 4459 4459 IEM_MC_ARG_CONST(uint8_t, u8Src, /*=*/ u8Imm, 2); \ 4460 4460 IEM_MC_ARG_EFLAGS( fEFlagsIn, 0); \ … … 4512 4512 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 4513 4513 IEM_MC_ARG(uint8_t const *, pu8Dst, 1); \ 4514 IEM_MC_MEM_ MAP_U8_RO(pu8Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \4514 IEM_MC_MEM_SEG_MAP_U8_RO(pu8Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 4515 4515 IEM_MC_ARG_EFLAGS( fEFlagsIn, 0); \ 4516 4516 IEM_MC_ARG_CONST(uint8_t, u8Src, /*=*/ u8Imm, 2); \ … … 4758 4758 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 4759 4759 IEM_MC_ARG(uint16_t *, pu16Dst, 1); \ 4760 IEM_MC_MEM_ MAP_U16_RW(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \4760 IEM_MC_MEM_SEG_MAP_U16_RW(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 4761 4761 \ 4762 4762 IEM_MC_ARG_CONST(uint16_t, u16Src, u16Imm, 2); \ … … 4782 4782 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 4783 4783 IEM_MC_ARG(uint32_t *, pu32Dst, 1); \ 4784 IEM_MC_MEM_ MAP_U32_RW(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \4784 IEM_MC_MEM_SEG_MAP_U32_RW(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 4785 4785 \ 4786 4786 IEM_MC_ARG_CONST(uint32_t, u32Src, u32Imm, 2); \ … … 4807 4807 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 4808 4808 IEM_MC_ARG(uint64_t *, pu64Dst, 1); \ 4809 IEM_MC_MEM_ MAP_U64_RW(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \4809 IEM_MC_MEM_SEG_MAP_U64_RW(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 4810 4810 \ 4811 4811 IEM_MC_ARG_CONST(uint64_t, u64Src, u64Imm, 2); \ … … 4838 4838 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 4839 4839 IEM_MC_ARG(uint16_t *, pu16Dst, 1); \ 4840 IEM_MC_MEM_ MAP_U16_ATOMIC(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \4840 IEM_MC_MEM_SEG_MAP_U16_ATOMIC(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 4841 4841 \ 4842 4842 IEM_MC_ARG_CONST(uint16_t, u16Src, u16Imm, 2); \ … … 4862 4862 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 4863 4863 IEM_MC_ARG(uint32_t *, pu32Dst, 1); \ 4864 IEM_MC_MEM_ MAP_U32_ATOMIC(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \4864 IEM_MC_MEM_SEG_MAP_U32_ATOMIC(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 4865 4865 \ 4866 4866 IEM_MC_ARG_CONST(uint32_t, u32Src, u32Imm, 2); \ … … 4886 4886 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 4887 4887 IEM_MC_ARG(uint64_t *, pu64Dst, 1); \ 4888 IEM_MC_MEM_ MAP_U64_ATOMIC(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \4888 IEM_MC_MEM_SEG_MAP_U64_ATOMIC(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 4889 4889 \ 4890 4890 IEM_MC_ARG_CONST(uint64_t, u64Src, u64Imm, 2); \ … … 5013 5013 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 5014 5014 IEM_MC_ARG(uint16_t const *, pu16Dst, 1); \ 5015 IEM_MC_MEM_ MAP_U16_RO(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \5015 IEM_MC_MEM_SEG_MAP_U16_RO(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 5016 5016 IEM_MC_ARG_EFLAGS( fEFlagsIn, 0); \ 5017 5017 IEM_MC_ARG_CONST(uint16_t, u16Src, u16Imm, 2); \ … … 5041 5041 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 5042 5042 IEM_MC_ARG(uint32_t const *, pu32Dst, 1); \ 5043 IEM_MC_MEM_ MAP_U32_RO(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \5043 IEM_MC_MEM_SEG_MAP_U32_RO(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 5044 5044 IEM_MC_ARG_EFLAGS( fEFlagsIn, 0); \ 5045 5045 IEM_MC_ARG_CONST(uint32_t, u32Src, u32Imm, 2); \ … … 5069 5069 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 5070 5070 IEM_MC_ARG(uint64_t const *, pu64Dst, 1); \ 5071 IEM_MC_MEM_ MAP_U64_RO(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \5071 IEM_MC_MEM_SEG_MAP_U64_RO(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 5072 5072 IEM_MC_ARG_EFLAGS( fEFlagsIn, 0); \ 5073 5073 IEM_MC_ARG_CONST(uint64_t, u64Src, u64Imm, 2); \ … … 5327 5327 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 5328 5328 IEM_MC_ARG(uint16_t *, pu16Dst, 1); \ 5329 IEM_MC_MEM_ MAP_U16_RW(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \5329 IEM_MC_MEM_SEG_MAP_U16_RW(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 5330 5330 \ 5331 5331 IEM_MC_ARG_EFLAGS( fEFlagsIn, 0); \ … … 5349 5349 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 5350 5350 IEM_MC_ARG(uint32_t *, pu32Dst, 1); \ 5351 IEM_MC_MEM_ MAP_U32_RW(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \5351 IEM_MC_MEM_SEG_MAP_U32_RW(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 5352 5352 \ 5353 5353 IEM_MC_ARG_EFLAGS( fEFlagsIn, 0); \ … … 5371 5371 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 5372 5372 IEM_MC_ARG(uint64_t *, pu64Dst, 1); \ 5373 IEM_MC_MEM_ MAP_U64_RW(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \5373 IEM_MC_MEM_SEG_MAP_U64_RW(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 5374 5374 \ 5375 5375 IEM_MC_ARG_EFLAGS( fEFlagsIn, 0); \ … … 5400 5400 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 5401 5401 IEM_MC_ARG(uint16_t *, pu16Dst, 1); \ 5402 IEM_MC_MEM_ MAP_U16_ATOMIC(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \5402 IEM_MC_MEM_SEG_MAP_U16_ATOMIC(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 5403 5403 \ 5404 5404 IEM_MC_ARG_EFLAGS( fEFlagsIn, 0); \ … … 5422 5422 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 5423 5423 IEM_MC_ARG(uint32_t *, pu32Dst, 1); \ 5424 IEM_MC_MEM_ MAP_U32_ATOMIC(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \5424 IEM_MC_MEM_SEG_MAP_U32_ATOMIC(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 5425 5425 \ 5426 5426 IEM_MC_ARG_EFLAGS( fEFlagsIn, 0); \ … … 5444 5444 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 5445 5445 IEM_MC_ARG(uint64_t *, pu64Dst, 1); \ 5446 IEM_MC_MEM_ MAP_U64_ATOMIC(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \5446 IEM_MC_MEM_SEG_MAP_U64_ATOMIC(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 5447 5447 \ 5448 5448 IEM_MC_ARG_EFLAGS( fEFlagsIn, 0); \ … … 5562 5562 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 5563 5563 IEM_MC_ARG(uint16_t const *, pu16Dst, 1); \ 5564 IEM_MC_MEM_ MAP_U16_RO(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \5564 IEM_MC_MEM_SEG_MAP_U16_RO(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 5565 5565 IEM_MC_ARG_EFLAGS( fEFlagsIn, 0); \ 5566 5566 IEM_MC_ARG_CONST(uint16_t, u16Src, (uint16_t)(int16_t)(int8_t)u8Imm, 2); \ … … 5588 5588 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 5589 5589 IEM_MC_ARG(uint32_t const *, pu32Dst, 1); \ 5590 IEM_MC_MEM_ MAP_U32_RO(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \5590 IEM_MC_MEM_SEG_MAP_U32_RO(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 5591 5591 IEM_MC_ARG_EFLAGS( fEFlagsIn, 0); \ 5592 5592 IEM_MC_ARG_CONST(uint32_t, u32Src, (uint32_t)(int32_t)(int8_t)u8Imm, 2); \ … … 5614 5614 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 5615 5615 IEM_MC_ARG(uint64_t const *, pu64Dst, 1); \ 5616 IEM_MC_MEM_ MAP_U64_RO(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \5616 IEM_MC_MEM_SEG_MAP_U64_RO(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 5617 5617 IEM_MC_ARG_EFLAGS( fEFlagsIn, 0); \ 5618 5618 IEM_MC_ARG_CONST(uint64_t, u64Src, (uint64_t)(int64_t)(int8_t)u8Imm, 2); \ … … 5926 5926 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); \ 5927 5927 IEMOP_HLP_DONE_DECODING(); /** @todo testcase: lock xchg */ \ 5928 IEM_MC_MEM_ MAP_U8_##a_Style(pu8Mem, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \5928 IEM_MC_MEM_SEG_MAP_U8_##a_Style(pu8Mem, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 5929 5929 IEM_MC_FETCH_GREG_U8(uTmpReg, IEM_GET_MODRM_REG(pVCpu, bRm)); \ 5930 5930 IEM_MC_CALL_VOID_AIMPL_2(a_fnWorker, pu8Mem, pu8Reg); \ … … 6029 6029 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); \ 6030 6030 IEMOP_HLP_DONE_DECODING(); /** @todo testcase: lock xchg */ \ 6031 IEM_MC_MEM_ MAP_U16_##a_Type(pu16Mem, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \6031 IEM_MC_MEM_SEG_MAP_U16_##a_Type(pu16Mem, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 6032 6032 IEM_MC_FETCH_GREG_U16(uTmpReg, IEM_GET_MODRM_REG(pVCpu, bRm)); \ 6033 6033 IEM_MC_CALL_VOID_AIMPL_2(a_fnWorker16, pu16Mem, pu16Reg); \ … … 6049 6049 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); \ 6050 6050 IEMOP_HLP_DONE_DECODING(); \ 6051 IEM_MC_MEM_ MAP_U32_##a_Type(pu32Mem, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \6051 IEM_MC_MEM_SEG_MAP_U32_##a_Type(pu32Mem, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 6052 6052 IEM_MC_FETCH_GREG_U32(uTmpReg, IEM_GET_MODRM_REG(pVCpu, bRm)); \ 6053 6053 IEM_MC_CALL_VOID_AIMPL_2(a_fnWorker32, pu32Mem, pu32Reg); \ … … 6069 6069 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); \ 6070 6070 IEMOP_HLP_DONE_DECODING(); \ 6071 IEM_MC_MEM_ MAP_U64_##a_Type(pu64Mem, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \6071 IEM_MC_MEM_SEG_MAP_U64_##a_Type(pu64Mem, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 6072 6072 IEM_MC_FETCH_GREG_U64(uTmpReg, IEM_GET_MODRM_REG(pVCpu, bRm)); \ 6073 6073 IEM_MC_CALL_VOID_AIMPL_2(a_fnWorker64, pu64Mem, pu64Reg); \ … … 8836 8836 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 8837 8837 IEM_MC_ARG(uint8_t *, pu8Dst, 1); \ 8838 IEM_MC_MEM_ MAP_U8_RW(pu8Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \8838 IEM_MC_MEM_SEG_MAP_U8_RW(pu8Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 8839 8839 \ 8840 8840 IEM_MC_ARG_EFLAGS( fEFlagsIn, 0); \ … … 9018 9018 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 9019 9019 IEM_MC_ARG(uint16_t *, pu16Dst, 1); \ 9020 IEM_MC_MEM_ MAP_U16_RW(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \9020 IEM_MC_MEM_SEG_MAP_U16_RW(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 9021 9021 \ 9022 9022 IEM_MC_ARG_EFLAGS( fEFlagsIn, 0); \ … … 9040 9040 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 9041 9041 IEM_MC_ARG(uint32_t *, pu32Dst, 1); \ 9042 IEM_MC_MEM_ MAP_U32_RW(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \9042 IEM_MC_MEM_SEG_MAP_U32_RW(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 9043 9043 \ 9044 9044 IEM_MC_ARG_EFLAGS( fEFlagsIn, 0); \ … … 9062 9062 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 9063 9063 IEM_MC_ARG(uint64_t *, pu64Dst, 1); \ 9064 IEM_MC_MEM_ MAP_U64_RW(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \9064 IEM_MC_MEM_SEG_MAP_U64_RW(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 9065 9065 \ 9066 9066 IEM_MC_ARG_EFLAGS( fEFlagsIn, 0); \ … … 9693 9693 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 9694 9694 IEM_MC_ARG(uint8_t *, pu8Dst, 1); \ 9695 IEM_MC_MEM_ MAP_U8_RW(pu8Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \9695 IEM_MC_MEM_SEG_MAP_U8_RW(pu8Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 9696 9696 \ 9697 9697 IEM_MC_ARG_EFLAGS( fEFlagsIn, 0); \ … … 9864 9864 IEM_MC_ARG(uint16_t *, pu16Dst, 1); \ 9865 9865 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 9866 IEM_MC_MEM_ MAP_U16_RW(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \9866 IEM_MC_MEM_SEG_MAP_U16_RW(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 9867 9867 \ 9868 9868 IEM_MC_ARG_EFLAGS( fEFlagsIn, 0); \ … … 9884 9884 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 9885 9885 IEM_MC_ARG(uint32_t *, pu32Dst, 1); \ 9886 IEM_MC_MEM_ MAP_U32_RW(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \9886 IEM_MC_MEM_SEG_MAP_U32_RW(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 9887 9887 \ 9888 9888 IEM_MC_ARG_EFLAGS( fEFlagsIn, 0); \ … … 9904 9904 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 9905 9905 IEM_MC_ARG(uint64_t *, pu64Dst, 1); \ 9906 IEM_MC_MEM_ MAP_U64_RW(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \9906 IEM_MC_MEM_SEG_MAP_U64_RW(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 9907 9907 \ 9908 9908 IEM_MC_ARG_EFLAGS( fEFlagsIn, 0); \ … … 10062 10062 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 10063 10063 IEM_MC_ARG(uint8_t *, pu8Dst, 1); \ 10064 IEM_MC_MEM_ MAP_U8_RW(pu8Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \10064 IEM_MC_MEM_SEG_MAP_U8_RW(pu8Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 10065 10065 \ 10066 10066 IEM_MC_ARG(uint8_t, cShiftArg, 2); \ … … 10271 10271 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 10272 10272 IEM_MC_ARG(uint16_t *, pu16Dst, 1); \ 10273 IEM_MC_MEM_ MAP_U16_RW(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \10273 IEM_MC_MEM_SEG_MAP_U16_RW(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 10274 10274 \ 10275 10275 IEM_MC_ARG(uint8_t, cShiftArg, 2); \ … … 10292 10292 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 10293 10293 IEM_MC_ARG(uint32_t *, pu32Dst, 1); \ 10294 IEM_MC_MEM_ MAP_U32_RW(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \10294 IEM_MC_MEM_SEG_MAP_U32_RW(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 10295 10295 \ 10296 10296 IEM_MC_ARG(uint8_t, cShiftArg, 2); \ … … 10313 10313 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 10314 10314 IEM_MC_ARG(uint64_t *, pu64Dst, 1); \ 10315 IEM_MC_MEM_ MAP_U64_RW(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \10315 IEM_MC_MEM_SEG_MAP_U64_RW(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 10316 10316 \ 10317 10317 IEM_MC_ARG(uint8_t, cShiftArg, 2); \ … … 10939 10939 IEM_MC_LOCAL(uint8_t, bUnmapInfo); 10940 10940 IEM_MC_ARG(PRTFLOAT32U, pr32Dst, 1); 10941 IEM_MC_MEM_ MAP_R32_WO(pr32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst);10941 IEM_MC_MEM_SEG_MAP_R32_WO(pr32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); 10942 10942 10943 10943 IEM_MC_ARG(PCRTFLOAT80U, pr80Value, 2); … … 10978 10978 IEM_MC_LOCAL(uint8_t, bUnmapInfo); 10979 10979 IEM_MC_ARG(PRTFLOAT32U, pr32Dst, 1); 10980 IEM_MC_MEM_ MAP_R32_WO(pr32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst);10980 IEM_MC_MEM_SEG_MAP_R32_WO(pr32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); 10981 10981 10982 10982 IEM_MC_ARG(PCRTFLOAT80U, pr80Value, 2); … … 12067 12067 IEM_MC_LOCAL(uint8_t, bUnmapInfo); 12068 12068 IEM_MC_ARG(int32_t *, pi32Dst, 1); 12069 IEM_MC_MEM_ MAP_I32_WO(pi32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst);12069 IEM_MC_MEM_SEG_MAP_I32_WO(pi32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); 12070 12070 12071 12071 IEM_MC_ARG(PCRTFLOAT80U, pr80Value, 2); … … 12106 12106 IEM_MC_LOCAL(uint8_t, bUnmapInfo); 12107 12107 IEM_MC_ARG(int32_t *, pi32Dst, 1); 12108 IEM_MC_MEM_ MAP_I32_WO(pi32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst);12108 IEM_MC_MEM_SEG_MAP_I32_WO(pi32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); 12109 12109 12110 12110 IEM_MC_ARG(PCRTFLOAT80U, pr80Value, 2); … … 12145 12145 IEM_MC_LOCAL(uint8_t, bUnmapInfo); 12146 12146 IEM_MC_ARG(int32_t *, pi32Dst, 1); 12147 IEM_MC_MEM_ MAP_I32_WO(pi32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst);12147 IEM_MC_MEM_SEG_MAP_I32_WO(pi32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); 12148 12148 12149 12149 IEM_MC_ARG(PCRTFLOAT80U, pr80Value, 2); … … 12216 12216 IEM_MC_LOCAL(uint8_t, bUnmapInfo); 12217 12217 IEM_MC_ARG(PRTFLOAT80U, pr80Dst, 1); 12218 IEM_MC_MEM_ MAP_R80_WO(pr80Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst);12218 IEM_MC_MEM_SEG_MAP_R80_WO(pr80Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); 12219 12219 12220 12220 IEM_MC_ARG(PCRTFLOAT80U, pr80Value, 2); … … 12811 12811 IEM_MC_LOCAL(uint8_t, bUnmapInfo); 12812 12812 IEM_MC_ARG(int64_t *, pi64Dst, 1); 12813 IEM_MC_MEM_ MAP_I64_WO(pi64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst);12813 IEM_MC_MEM_SEG_MAP_I64_WO(pi64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); 12814 12814 12815 12815 IEM_MC_ARG(PCRTFLOAT80U, pr80Value, 2); … … 12850 12850 IEM_MC_LOCAL(uint8_t, bUnmapInfo); 12851 12851 IEM_MC_ARG(PRTFLOAT64U, pr64Dst, 1); 12852 IEM_MC_MEM_ MAP_R64_WO(pr64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst);12852 IEM_MC_MEM_SEG_MAP_R64_WO(pr64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); 12853 12853 12854 12854 IEM_MC_ARG(PCRTFLOAT80U, pr80Value, 2); … … 12891 12891 IEM_MC_LOCAL(uint8_t, bUnmapInfo); 12892 12892 IEM_MC_ARG(PRTFLOAT64U, pr64Dst, 1); 12893 IEM_MC_MEM_ MAP_R64_WO(pr64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst);12893 IEM_MC_MEM_SEG_MAP_R64_WO(pr64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); 12894 12894 12895 12895 IEM_MC_ARG(PCRTFLOAT80U, pr80Value, 2); … … 13433 13433 IEM_MC_LOCAL(uint8_t, bUnmapInfo); 13434 13434 IEM_MC_ARG(int16_t *, pi16Dst, 1); 13435 IEM_MC_MEM_ MAP_I16_WO(pi16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst);13435 IEM_MC_MEM_SEG_MAP_I16_WO(pi16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); 13436 13436 13437 13437 IEM_MC_ARG(PCRTFLOAT80U, pr80Value, 2); … … 13472 13472 IEM_MC_LOCAL(uint8_t, bUnmapInfo); 13473 13473 IEM_MC_ARG(int16_t *, pi16Dst, 1); 13474 IEM_MC_MEM_ MAP_I16_WO(pi16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst);13474 IEM_MC_MEM_SEG_MAP_I16_WO(pi16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); 13475 13475 13476 13476 IEM_MC_ARG(PCRTFLOAT80U, pr80Value, 2); … … 13511 13511 IEM_MC_LOCAL(uint8_t, bUnmapInfo); 13512 13512 IEM_MC_ARG(int16_t *, pi16Dst, 1); 13513 IEM_MC_MEM_ MAP_I16_WO(pi16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst);13513 IEM_MC_MEM_SEG_MAP_I16_WO(pi16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); 13514 13514 13515 13515 IEM_MC_ARG(PCRTFLOAT80U, pr80Value, 2); … … 13614 13614 IEM_MC_LOCAL(uint8_t, bUnmapInfo); 13615 13615 IEM_MC_ARG(PRTPBCD80U, pd80Dst, 1); 13616 IEM_MC_MEM_ MAP_D80_WO(pd80Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst);13616 IEM_MC_MEM_SEG_MAP_D80_WO(pd80Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); 13617 13617 13618 13618 IEM_MC_ARG(PCRTFLOAT80U, pr80Value, 2); … … 13653 13653 IEM_MC_LOCAL(uint8_t, bUnmapInfo); 13654 13654 IEM_MC_ARG(int64_t *, pi64Dst, 1); 13655 IEM_MC_MEM_ MAP_I64_WO(pi64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst);13655 IEM_MC_MEM_SEG_MAP_I64_WO(pi64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); 13656 13656 13657 13657 IEM_MC_ARG(PCRTFLOAT80U, pr80Value, 2); … … 14326 14326 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, a_bRm, 0); \ 14327 14327 IEMOP_HLP_DONE_DECODING(); \ 14328 IEM_MC_MEM_ MAP_U8_RW(pu8Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \14328 IEM_MC_MEM_SEG_MAP_U8_RW(pu8Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 14329 14329 IEM_MC_ARG_LOCAL_EFLAGS( pEFlags, EFlags, 1); \ 14330 14330 IEM_MC_CALL_VOID_AIMPL_2(a_fnNormalU8, pu8Dst, pEFlags); \ … … 14344 14344 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, a_bRm, 0); \ 14345 14345 IEMOP_HLP_DONE_DECODING(); \ 14346 IEM_MC_MEM_ MAP_U8_ATOMIC(pu8Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \14346 IEM_MC_MEM_SEG_MAP_U8_ATOMIC(pu8Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 14347 14347 IEM_MC_ARG_LOCAL_EFLAGS( pEFlags, EFlags, 1); \ 14348 14348 IEM_MC_CALL_VOID_AIMPL_2(a_fnLockedU8, pu8Dst, pEFlags); \ … … 14425 14425 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); \ 14426 14426 IEMOP_HLP_DONE_DECODING(); \ 14427 IEM_MC_MEM_ MAP_U16_RW(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \14427 IEM_MC_MEM_SEG_MAP_U16_RW(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 14428 14428 IEM_MC_ARG_LOCAL_EFLAGS( pEFlags, EFlags, 1); \ 14429 14429 IEM_MC_CALL_VOID_AIMPL_2(a_fnNormalU16, pu16Dst, pEFlags); \ … … 14443 14443 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); \ 14444 14444 IEMOP_HLP_DONE_DECODING(); \ 14445 IEM_MC_MEM_ MAP_U32_RW(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \14445 IEM_MC_MEM_SEG_MAP_U32_RW(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 14446 14446 IEM_MC_ARG_LOCAL_EFLAGS( pEFlags, EFlags, 1); \ 14447 14447 IEM_MC_CALL_VOID_AIMPL_2(a_fnNormalU32, pu32Dst, pEFlags); \ … … 14461 14461 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); \ 14462 14462 IEMOP_HLP_DONE_DECODING(); \ 14463 IEM_MC_MEM_ MAP_U64_RW(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \14463 IEM_MC_MEM_SEG_MAP_U64_RW(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 14464 14464 IEM_MC_ARG_LOCAL_EFLAGS( pEFlags, EFlags, 1); \ 14465 14465 IEM_MC_CALL_VOID_AIMPL_2(a_fnNormalU64, pu64Dst, pEFlags); \ … … 14489 14489 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); \ 14490 14490 IEMOP_HLP_DONE_DECODING(); \ 14491 IEM_MC_MEM_ MAP_U16_ATOMIC(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \14491 IEM_MC_MEM_SEG_MAP_U16_ATOMIC(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 14492 14492 IEM_MC_ARG_LOCAL_EFLAGS( pEFlags, EFlags, 1); \ 14493 14493 IEM_MC_CALL_VOID_AIMPL_2(a_fnLockedU16, pu16Dst, pEFlags); \ … … 14507 14507 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); \ 14508 14508 IEMOP_HLP_DONE_DECODING(); \ 14509 IEM_MC_MEM_ MAP_U32_ATOMIC(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \14509 IEM_MC_MEM_SEG_MAP_U32_ATOMIC(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 14510 14510 IEM_MC_ARG_LOCAL_EFLAGS( pEFlags, EFlags, 1); \ 14511 14511 IEM_MC_CALL_VOID_AIMPL_2(a_fnLockedU32, pu32Dst, pEFlags); \ … … 14525 14525 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); \ 14526 14526 IEMOP_HLP_DONE_DECODING(); \ 14527 IEM_MC_MEM_ MAP_U64_ATOMIC(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \14527 IEM_MC_MEM_SEG_MAP_U64_ATOMIC(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 14528 14528 IEM_MC_ARG_LOCAL_EFLAGS( pEFlags, EFlags, 1); \ 14529 14529 IEM_MC_CALL_VOID_AIMPL_2(a_fnLockedU64, pu64Dst, pEFlags); \ -
trunk/src/VBox/VMM/VMMAll/target-x86/IEMAllInstTwoByte0f-x86.cpp.h
r108267 r108287 8979 8979 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 8980 8980 IEM_MC_ARG(uint16_t *, pu16Dst, 1); \ 8981 IEM_MC_MEM_ MAP_U16_RW(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \8981 IEM_MC_MEM_SEG_MAP_U16_RW(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 8982 8982 \ 8983 8983 IEM_MC_ARG_EFLAGS( fEFlagsIn, 0); \ … … 9006 9006 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 9007 9007 IEM_MC_ARG(uint32_t *, pu32Dst, 1); \ 9008 IEM_MC_MEM_ MAP_U32_RW(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \9008 IEM_MC_MEM_SEG_MAP_U32_RW(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 9009 9009 \ 9010 9010 IEM_MC_ARG_EFLAGS( fEFlagsIn, 0); \ … … 9033 9033 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 9034 9034 IEM_MC_ARG(uint64_t *, pu64Dst, 1); \ 9035 IEM_MC_MEM_ MAP_U64_RW(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \9035 IEM_MC_MEM_SEG_MAP_U64_RW(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 9036 9036 \ 9037 9037 IEM_MC_ARG_EFLAGS( fEFlagsIn, 0); \ … … 9070 9070 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 9071 9071 IEM_MC_ARG(uint16_t *, pu16Dst, 1); \ 9072 IEM_MC_MEM_ MAP_U16_ATOMIC(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \9072 IEM_MC_MEM_SEG_MAP_U16_ATOMIC(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 9073 9073 \ 9074 9074 IEM_MC_ARG_EFLAGS( fEFlagsIn, 0); \ … … 9097 9097 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 9098 9098 IEM_MC_ARG(uint32_t *, pu32Dst, 1); \ 9099 IEM_MC_MEM_ MAP_U32_ATOMIC(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \9099 IEM_MC_MEM_SEG_MAP_U32_ATOMIC(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 9100 9100 \ 9101 9101 IEM_MC_ARG_EFLAGS( fEFlagsIn, 0); \ … … 9124 9124 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 9125 9125 IEM_MC_ARG(uint64_t *, pu64Dst, 1); \ 9126 IEM_MC_MEM_ MAP_U64_ATOMIC(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \9126 IEM_MC_MEM_SEG_MAP_U64_ATOMIC(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 9127 9127 \ 9128 9128 IEM_MC_ARG_EFLAGS( fEFlagsIn, 0); \ … … 9229 9229 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 9230 9230 IEM_MC_ARG(uint16_t const *, pu16Dst, 1); \ 9231 IEM_MC_MEM_ MAP_U16_RO(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \9231 IEM_MC_MEM_SEG_MAP_U16_RO(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 9232 9232 \ 9233 9233 IEM_MC_ARG_EFLAGS( fEFlagsIn, 0); \ … … 9256 9256 IEM_MC_ARG(uint32_t const *, pu32Dst, 1); \ 9257 9257 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 9258 IEM_MC_MEM_ MAP_U32_RO(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \9258 IEM_MC_MEM_SEG_MAP_U32_RO(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 9259 9259 \ 9260 9260 IEM_MC_ARG_EFLAGS( fEFlagsIn, 0); \ … … 9283 9283 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 9284 9284 IEM_MC_ARG(uint64_t const *, pu64Dst, 1); \ 9285 IEM_MC_MEM_ MAP_U64_RO(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \9285 IEM_MC_MEM_SEG_MAP_U64_RO(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 9286 9286 \ 9287 9287 IEM_MC_ARG_EFLAGS( fEFlagsIn, 0); \ … … 9403 9403 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 9404 9404 IEM_MC_ARG(uint16_t *, pu16Dst, 0); \ 9405 IEM_MC_MEM_ MAP_U16_RW(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \9405 IEM_MC_MEM_SEG_MAP_U16_RW(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 9406 9406 \ 9407 9407 IEM_MC_ARG(uint16_t, u16Src, 1); \ … … 9427 9427 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 9428 9428 IEM_MC_ARG(uint32_t *, pu32Dst, 0); \ 9429 IEM_MC_MEM_ MAP_U32_RW(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \9429 IEM_MC_MEM_SEG_MAP_U32_RW(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 9430 9430 \ 9431 9431 IEM_MC_ARG(uint32_t, u32Src, 1); \ … … 9451 9451 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 9452 9452 IEM_MC_ARG(uint64_t *, pu64Dst, 0); \ 9453 IEM_MC_MEM_ MAP_U64_RW(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \9453 IEM_MC_MEM_SEG_MAP_U64_RW(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 9454 9454 \ 9455 9455 IEM_MC_ARG(uint64_t, u64Src, 1); \ … … 9559 9559 IEM_MC_FETCH_GREG_U8(cShiftArg, X86_GREG_xCX); \ 9560 9560 IEM_MC_ARG_LOCAL_EFLAGS( pEFlags, EFlags, 3); \ 9561 IEM_MC_MEM_ MAP_U16_RW(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \9561 IEM_MC_MEM_SEG_MAP_U16_RW(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 9562 9562 IEM_MC_CALL_VOID_AIMPL_4(pImpl->pfnNormalU16, pu16Dst, u16Src, cShiftArg, pEFlags); \ 9563 9563 \ … … 9581 9581 IEM_MC_FETCH_GREG_U8(cShiftArg, X86_GREG_xCX); \ 9582 9582 IEM_MC_ARG_LOCAL_EFLAGS( pEFlags, EFlags, 3); \ 9583 IEM_MC_MEM_ MAP_U32_RW(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \9583 IEM_MC_MEM_SEG_MAP_U32_RW(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 9584 9584 IEM_MC_CALL_VOID_AIMPL_4(pImpl->pfnNormalU32, pu32Dst, u32Src, cShiftArg, pEFlags); \ 9585 9585 \ … … 9603 9603 IEM_MC_FETCH_GREG_U8(cShiftArg, X86_GREG_xCX); \ 9604 9604 IEM_MC_ARG_LOCAL_EFLAGS( pEFlags, EFlags, 3); \ 9605 IEM_MC_MEM_ MAP_U64_RW(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \9605 IEM_MC_MEM_SEG_MAP_U64_RW(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 9606 9606 IEM_MC_CALL_VOID_AIMPL_4(pImpl->pfnNormalU64, pu64Dst, u64Src, cShiftArg, pEFlags); \ 9607 9607 \ … … 10211 10211 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 10212 10212 IEM_MC_ARG(uint8_t *, pu8Dst, 0); \ 10213 IEM_MC_MEM_ MAP_U8_##a_Type(pu8Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \10213 IEM_MC_MEM_SEG_MAP_U8_##a_Type(pu8Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 10214 10214 \ 10215 10215 IEM_MC_ARG(uint8_t, u8Src, 2); \ … … 10332 10332 \ 10333 10333 IEM_MC_ARG(uint16_t *, pu16Dst, 0); \ 10334 IEM_MC_MEM_ MAP_U16_##a_Type(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \10334 IEM_MC_MEM_SEG_MAP_U16_##a_Type(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 10335 10335 \ 10336 10336 IEM_MC_ARG(uint16_t, u16Src, 2); \ … … 10359 10359 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 10360 10360 IEM_MC_ARG(uint32_t *, pu32Dst, 0); \ 10361 IEM_MC_MEM_ MAP_U32_##a_Type(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \10361 IEM_MC_MEM_SEG_MAP_U32_##a_Type(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 10362 10362 \ 10363 10363 IEM_MC_ARG(uint32_t, u32Src, 2); \ … … 10390 10390 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 10391 10391 IEM_MC_ARG(uint64_t *, pu64Dst, 0); \ 10392 IEM_MC_MEM_ MAP_U64_##a_Type(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \10392 IEM_MC_MEM_SEG_MAP_U64_##a_Type(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 10393 10393 \ 10394 10394 IEM_MC_ARG(uint64_t, u64Src, 2); \ … … 10770 10770 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 10771 10771 IEM_MC_ARG(uint16_t *, pu16Dst, 1); \ 10772 IEM_MC_MEM_ MAP_U16_RW(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \10772 IEM_MC_MEM_SEG_MAP_U16_RW(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 10773 10773 \ 10774 10774 IEM_MC_ARG_EFLAGS( fEFlagsIn, 0); \ … … 10792 10792 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 10793 10793 IEM_MC_ARG(uint32_t *, pu32Dst, 1); \ 10794 IEM_MC_MEM_ MAP_U32_RW(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \10794 IEM_MC_MEM_SEG_MAP_U32_RW(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 10795 10795 \ 10796 10796 IEM_MC_ARG_EFLAGS( fEFlagsIn, 0); \ … … 10814 10814 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 10815 10815 IEM_MC_ARG(uint64_t *, pu64Dst, 1); \ 10816 IEM_MC_MEM_ MAP_U64_RW(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \10816 IEM_MC_MEM_SEG_MAP_U64_RW(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 10817 10817 \ 10818 10818 IEM_MC_ARG_EFLAGS( fEFlagsIn, 0); \ … … 10846 10846 IEM_MC_ARG(uint16_t *, pu16Dst, 1); \ 10847 10847 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 10848 IEM_MC_MEM_ MAP_U16_ATOMIC(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \10848 IEM_MC_MEM_SEG_MAP_U16_ATOMIC(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 10849 10849 \ 10850 10850 IEM_MC_ARG_EFLAGS( fEFlagsIn, 0); \ … … 10868 10868 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 10869 10869 IEM_MC_ARG(uint32_t *, pu32Dst, 1); \ 10870 IEM_MC_MEM_ MAP_U32_ATOMIC(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \10870 IEM_MC_MEM_SEG_MAP_U32_ATOMIC(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 10871 10871 \ 10872 10872 IEM_MC_ARG_EFLAGS( fEFlagsIn, 0); \ … … 10890 10890 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 10891 10891 IEM_MC_ARG(uint64_t *, pu64Dst, 1); \ 10892 IEM_MC_MEM_ MAP_U64_ATOMIC(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \10892 IEM_MC_MEM_SEG_MAP_U64_ATOMIC(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 10893 10893 \ 10894 10894 IEM_MC_ARG_EFLAGS( fEFlagsIn, 0); \ … … 10982 10982 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 10983 10983 IEM_MC_ARG(uint16_t const *, pu16Dst, 1); \ 10984 IEM_MC_MEM_ MAP_U16_RO(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \10984 IEM_MC_MEM_SEG_MAP_U16_RO(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 10985 10985 \ 10986 10986 IEM_MC_ARG_EFLAGS( fEFlagsIn, 0); \ … … 11004 11004 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 11005 11005 IEM_MC_ARG(uint32_t const *, pu32Dst, 1); \ 11006 IEM_MC_MEM_ MAP_U32_RO(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \11006 IEM_MC_MEM_SEG_MAP_U32_RO(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 11007 11007 \ 11008 11008 IEM_MC_ARG_EFLAGS( fEFlagsIn, 0); \ … … 11026 11026 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 11027 11027 IEM_MC_ARG(uint64_t const *, pu64Dst, 1); \ 11028 IEM_MC_MEM_ MAP_U64_RO(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \11028 IEM_MC_MEM_SEG_MAP_U64_RO(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 11029 11029 \ 11030 11030 IEM_MC_ARG_EFLAGS( fEFlagsIn, 0); \ … … 11601 11601 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 11602 11602 IEM_MC_ARG(uint8_t *, pu8Dst, 0); \ 11603 IEM_MC_MEM_ MAP_U8_##a_Type(pu8Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \11603 IEM_MC_MEM_SEG_MAP_U8_##a_Type(pu8Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 11604 11604 \ 11605 11605 IEM_MC_LOCAL(uint8_t, u8RegCopy); \ … … 11714 11714 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 11715 11715 IEM_MC_ARG(uint16_t *, pu16Dst, 0); \ 11716 IEM_MC_MEM_ MAP_U16_##a_Type(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \11716 IEM_MC_MEM_SEG_MAP_U16_##a_Type(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 11717 11717 \ 11718 11718 IEM_MC_LOCAL(uint16_t, u16RegCopy); \ … … 11738 11738 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 11739 11739 IEM_MC_ARG(uint32_t *, pu32Dst, 0); \ 11740 IEM_MC_MEM_ MAP_U32_##a_Type(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \11740 IEM_MC_MEM_SEG_MAP_U32_##a_Type(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 11741 11741 \ 11742 11742 IEM_MC_LOCAL(uint32_t, u32RegCopy); \ … … 11762 11762 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 11763 11763 IEM_MC_ARG(uint64_t *, pu64Dst, 0); \ 11764 IEM_MC_MEM_ MAP_U64_##a_Type(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \11764 IEM_MC_MEM_SEG_MAP_U64_##a_Type(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 11765 11765 \ 11766 11766 IEM_MC_LOCAL(uint64_t, u64RegCopy); \ … … 12366 12366 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ 12367 12367 IEM_MC_ARG(uint64_t *, pu64MemDst, 0); \ 12368 IEM_MC_MEM_ MAP_U64_##a_Type(pu64MemDst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \12368 IEM_MC_MEM_SEG_MAP_U64_##a_Type(pu64MemDst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 12369 12369 \ 12370 12370 IEM_MC_LOCAL(RTUINT64U, u64EaxEdx); \ … … 12424 12424 bUnmapInfoStmt; \ 12425 12425 IEM_MC_ARG(PRTUINT128U, pu128MemDst, 0); \ 12426 IEM_MC_MEM_ MAP_U128_##a_Type(pu128MemDst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \12426 IEM_MC_MEM_SEG_MAP_U128_##a_Type(pu128MemDst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \ 12427 12427 \ 12428 12428 IEM_MC_LOCAL(RTUINT128U, u128RaxRdx); \ -
trunk/src/VBox/VMM/VMMAll/target-x86/IEMAllN8veLiveness-x86.h
r108269 r108287 227 227 228 228 229 #define IEM_LIVENESS_MEM (a_iSeg) do { \229 #define IEM_LIVENESS_MEM_SEG(a_iSeg) do { \ 230 230 IEM_LIVENESS_MARK_POTENTIAL_CALL(); \ 231 231 IEM_LIVENESS_SEG_ATTRIB_INPUT(a_iSeg); \ … … 237 237 238 238 #define IEM_LIVENESS_STACK() do { \ 239 IEM_LIVENESS_MEM (X86_SREG_SS); \239 IEM_LIVENESS_MEM_SEG(X86_SREG_SS); \ 240 240 IEM_LIVENESS_GPR_MODIFY(X86_GREG_xSP); \ 241 241 } while (0) … … 824 824 #define IEM_MC_CLEAR_ZREG_256_UP(a_iYReg) NOP() 825 825 826 #define IEM_MC_FETCH_MEM_U8(a_u8Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM (a_iSeg)827 #define IEM_MC_FETCH_MEM16_U8(a_u8Dst, a_iSeg, a_GCPtrMem16) IEM_LIVENESS_MEM (a_iSeg)828 #define IEM_MC_FETCH_MEM32_U8(a_u8Dst, a_iSeg, a_GCPtrMem32) IEM_LIVENESS_MEM (a_iSeg)826 #define IEM_MC_FETCH_MEM_U8(a_u8Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 827 #define IEM_MC_FETCH_MEM16_U8(a_u8Dst, a_iSeg, a_GCPtrMem16) IEM_LIVENESS_MEM_SEG(a_iSeg) 828 #define IEM_MC_FETCH_MEM32_U8(a_u8Dst, a_iSeg, a_GCPtrMem32) IEM_LIVENESS_MEM_SEG(a_iSeg) 829 829 830 830 #define IEM_MC_FETCH_MEM_FLAT_U8(a_u8Dst, a_GCPtrMem) IEM_LIVENESS_MEM_FLAT() … … 832 832 #define IEM_MC_FETCH_MEM32_FLAT_U8(a_u8Dst, a_GCPtrMem32) IEM_LIVENESS_MEM_FLAT() 833 833 834 #define IEM_MC_FETCH_MEM_U16(a_u16Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM (a_iSeg)835 #define IEM_MC_FETCH_MEM_U16_DISP(a_u16Dst, a_iSeg, a_GCPtrMem, a_offDisp) IEM_LIVENESS_MEM (a_iSeg)836 #define IEM_MC_FETCH_MEM_I16(a_i16Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM (a_iSeg)837 #define IEM_MC_FETCH_MEM_I16_DISP(a_i16Dst, a_iSeg, a_GCPtrMem, a_offDisp) IEM_LIVENESS_MEM (a_iSeg)834 #define IEM_MC_FETCH_MEM_U16(a_u16Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 835 #define IEM_MC_FETCH_MEM_U16_DISP(a_u16Dst, a_iSeg, a_GCPtrMem, a_offDisp) IEM_LIVENESS_MEM_SEG(a_iSeg) 836 #define IEM_MC_FETCH_MEM_I16(a_i16Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 837 #define IEM_MC_FETCH_MEM_I16_DISP(a_i16Dst, a_iSeg, a_GCPtrMem, a_offDisp) IEM_LIVENESS_MEM_SEG(a_iSeg) 838 838 839 839 #define IEM_MC_FETCH_MEM_FLAT_U16(a_u16Dst, a_GCPtrMem) IEM_LIVENESS_MEM_FLAT() … … 842 842 #define IEM_MC_FETCH_MEM_FLAT_I16_DISP(a_i16Dst, a_GCPtrMem, a_offDisp) IEM_LIVENESS_MEM_FLAT() 843 843 844 #define IEM_MC_FETCH_MEM_U32(a_u32Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM (a_iSeg)845 #define IEM_MC_FETCH_MEM_U32_DISP(a_u32Dst, a_iSeg, a_GCPtrMem, a_offDisp) IEM_LIVENESS_MEM (a_iSeg)846 #define IEM_MC_FETCH_MEM_I32(a_i32Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM (a_iSeg)847 #define IEM_MC_FETCH_MEM_I32_DISP(a_i32Dst, a_iSeg, a_GCPtrMem, a_offDisp) IEM_LIVENESS_MEM (a_iSeg)844 #define IEM_MC_FETCH_MEM_U32(a_u32Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 845 #define IEM_MC_FETCH_MEM_U32_DISP(a_u32Dst, a_iSeg, a_GCPtrMem, a_offDisp) IEM_LIVENESS_MEM_SEG(a_iSeg) 846 #define IEM_MC_FETCH_MEM_I32(a_i32Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 847 #define IEM_MC_FETCH_MEM_I32_DISP(a_i32Dst, a_iSeg, a_GCPtrMem, a_offDisp) IEM_LIVENESS_MEM_SEG(a_iSeg) 848 848 849 849 #define IEM_MC_FETCH_MEM_FLAT_U32(a_u32Dst, a_GCPtrMem) IEM_LIVENESS_MEM_FLAT() … … 852 852 #define IEM_MC_FETCH_MEM_FLAT_I32_DISP(a_i32Dst, a_GCPtrMem, a_offDisp) IEM_LIVENESS_MEM_FLAT() 853 853 854 #define IEM_MC_FETCH_MEM_U64(a_u64Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM (a_iSeg)855 #define IEM_MC_FETCH_MEM_U64_DISP(a_u64Dst, a_iSeg, a_GCPtrMem, a_offDisp) IEM_LIVENESS_MEM (a_iSeg)856 #define IEM_MC_FETCH_MEM_U64_ALIGN_U128(a_u64Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM (a_iSeg)857 #define IEM_MC_FETCH_MEM_I64(a_i64Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM (a_iSeg)854 #define IEM_MC_FETCH_MEM_U64(a_u64Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 855 #define IEM_MC_FETCH_MEM_U64_DISP(a_u64Dst, a_iSeg, a_GCPtrMem, a_offDisp) IEM_LIVENESS_MEM_SEG(a_iSeg) 856 #define IEM_MC_FETCH_MEM_U64_ALIGN_U128(a_u64Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 857 #define IEM_MC_FETCH_MEM_I64(a_i64Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 858 858 859 859 #define IEM_MC_FETCH_MEM_FLAT_U64(a_u64Dst, a_GCPtrMem) IEM_LIVENESS_MEM_FLAT() … … 862 862 #define IEM_MC_FETCH_MEM_FLAT_I64(a_i64Dst, a_GCPtrMem) IEM_LIVENESS_MEM_FLAT() 863 863 864 #define IEM_MC_FETCH_MEM_R32(a_r32Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM (a_iSeg)865 #define IEM_MC_FETCH_MEM_R64(a_r64Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM (a_iSeg)866 #define IEM_MC_FETCH_MEM_R80(a_r80Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM (a_iSeg)867 #define IEM_MC_FETCH_MEM_D80(a_d80Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM (a_iSeg)864 #define IEM_MC_FETCH_MEM_R32(a_r32Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 865 #define IEM_MC_FETCH_MEM_R64(a_r64Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 866 #define IEM_MC_FETCH_MEM_R80(a_r80Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 867 #define IEM_MC_FETCH_MEM_D80(a_d80Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 868 868 869 869 #define IEM_MC_FETCH_MEM_FLAT_R32(a_r32Dst, a_GCPtrMem) IEM_LIVENESS_MEM_FLAT() … … 872 872 #define IEM_MC_FETCH_MEM_FLAT_D80(a_d80Dst, a_GCPtrMem) IEM_LIVENESS_MEM_FLAT() 873 873 874 #define IEM_MC_FETCH_MEM_U128(a_u128Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM (a_iSeg)875 #define IEM_MC_FETCH_MEM_U128_NO_AC(a_u128Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM (a_iSeg)876 #define IEM_MC_FETCH_MEM_U128_ALIGN_SSE(a_u128Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM (a_iSeg)877 878 #define IEM_MC_FETCH_MEM_XMM(a_XmmDst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM (a_iSeg)879 #define IEM_MC_FETCH_MEM_XMM_NO_AC(a_XmmDst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM (a_iSeg)880 #define IEM_MC_FETCH_MEM_XMM_ALIGN_SSE(a_XmmDst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM (a_iSeg)874 #define IEM_MC_FETCH_MEM_U128(a_u128Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 875 #define IEM_MC_FETCH_MEM_U128_NO_AC(a_u128Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 876 #define IEM_MC_FETCH_MEM_U128_ALIGN_SSE(a_u128Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 877 878 #define IEM_MC_FETCH_MEM_XMM(a_XmmDst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 879 #define IEM_MC_FETCH_MEM_XMM_NO_AC(a_XmmDst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 880 #define IEM_MC_FETCH_MEM_XMM_ALIGN_SSE(a_XmmDst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 881 881 882 882 #define IEM_MC_FETCH_MEM_FLAT_U128(a_u128Dst, a_GCPtrMem) IEM_LIVENESS_MEM_FLAT() … … 888 888 #define IEM_MC_FETCH_MEM_FLAT_XMM_ALIGN_SSE(a_XmmDst, a_GCPtrMem) IEM_LIVENESS_MEM_FLAT() 889 889 890 #define IEM_MC_FETCH_MEM_U128_AND_XREG_U128(a_Dst, a_iXReg1, a_iSeg2, a_GCPtrMem2) IEM_LIVENESS_MEM (a_iSeg)890 #define IEM_MC_FETCH_MEM_U128_AND_XREG_U128(a_Dst, a_iXReg1, a_iSeg2, a_GCPtrMem2) IEM_LIVENESS_MEM_SEG(a_iSeg) 891 891 #define IEM_MC_FETCH_MEM_FLAT_U128_AND_XREG_U128(a_Dst, a_iXReg1, a_GCPtrMem2) IEM_LIVENESS_MEM_FLAT() 892 892 893 #define IEM_MC_FETCH_MEM_XMM_ALIGN_SSE_AND_XREG_XMM(a_Dst, a_iXReg1, a_iSeg2, a_GCPtrMem2) IEM_LIVENESS_MEM (a_iSeg)894 #define IEM_MC_FETCH_MEM_XMM_NO_AC_AND_XREG_XMM(a_Dst, a_iXReg1, a_iSeg2, a_GCPtrMem2) IEM_LIVENESS_MEM (a_iSeg)893 #define IEM_MC_FETCH_MEM_XMM_ALIGN_SSE_AND_XREG_XMM(a_Dst, a_iXReg1, a_iSeg2, a_GCPtrMem2) IEM_LIVENESS_MEM_SEG(a_iSeg) 894 #define IEM_MC_FETCH_MEM_XMM_NO_AC_AND_XREG_XMM(a_Dst, a_iXReg1, a_iSeg2, a_GCPtrMem2) IEM_LIVENESS_MEM_SEG(a_iSeg) 895 895 #define IEM_MC_FETCH_MEM_FLAT_XMM_ALIGN_SSE_AND_XREG_XMM(a_Dst, a_iXReg1, a_GCPtrMem2) IEM_LIVENESS_MEM_FLAT() 896 896 #define IEM_MC_FETCH_MEM_FLAT_XMM_NO_AC_AND_XREG_XMM(a_Dst, a_iXReg1, a_GCPtrMem2) IEM_LIVENESS_MEM_FLAT() 897 #define IEM_MC_FETCH_MEM_XMM_U32_AND_XREG_XMM(a_Dst, a_iXReg1, a_iDWord2, a_iSeg2, a_GCPtrMem2) IEM_LIVENESS_MEM (a_iSeg)897 #define IEM_MC_FETCH_MEM_XMM_U32_AND_XREG_XMM(a_Dst, a_iXReg1, a_iDWord2, a_iSeg2, a_GCPtrMem2) IEM_LIVENESS_MEM_SEG(a_iSeg) 898 898 #define IEM_MC_FETCH_MEM_FLAT_XMM_U32_AND_XREG_XMM(a_Dst, a_iXReg1, a_iDWord2, a_GCPtrMem2) IEM_LIVENESS_MEM_FLAT() 899 #define IEM_MC_FETCH_MEM_XMM_U64_AND_XREG_XMM(a_Dst, a_iXReg1, a_iQWord2, a_iSeg2, a_GCPtrMem2) IEM_LIVENESS_MEM (a_iSeg)899 #define IEM_MC_FETCH_MEM_XMM_U64_AND_XREG_XMM(a_Dst, a_iXReg1, a_iQWord2, a_iSeg2, a_GCPtrMem2) IEM_LIVENESS_MEM_SEG(a_iSeg) 900 900 #define IEM_MC_FETCH_MEM_FLAT_XMM_U64_AND_XREG_XMM(a_Dst, a_iXReg1, a_iQWord2, a_GCPtrMem2) IEM_LIVENESS_MEM_FLAT() 901 901 902 902 #define IEM_MC_FETCH_MEM_U128_AND_XREG_U128_AND_RAX_RDX_U64(a_Dst, a_iXReg1, a_iSeg2, a_GCPtrMem2) \ 903 do { IEM_LIVENESS_MEM (a_iSeg2); IEM_LIVENESS_GPR_INPUT(X86_GREG_xAX); IEM_LIVENESS_GPR_INPUT(X86_GREG_xDX); } while (0)903 do { IEM_LIVENESS_MEM_SEG(a_iSeg2); IEM_LIVENESS_GPR_INPUT(X86_GREG_xAX); IEM_LIVENESS_GPR_INPUT(X86_GREG_xDX); } while (0) 904 904 #define IEM_MC_FETCH_MEM_U128_AND_XREG_U128_AND_EAX_EDX_U32_SX_U64(a_Dst, a_iXReg1, a_iSeg2, a_GCPtrMem2) \ 905 do { IEM_LIVENESS_MEM (a_iSeg2); IEM_LIVENESS_GPR_INPUT(X86_GREG_xAX); IEM_LIVENESS_GPR_INPUT(X86_GREG_xDX); } while (0)905 do { IEM_LIVENESS_MEM_SEG(a_iSeg2); IEM_LIVENESS_GPR_INPUT(X86_GREG_xAX); IEM_LIVENESS_GPR_INPUT(X86_GREG_xDX); } while (0) 906 906 907 907 #define IEM_MC_FETCH_MEM_FLAT_U128_AND_XREG_U128_AND_RAX_RDX_U64(a_Dst, a_iXReg1, a_GCPtrMem2) \ … … 911 911 912 912 913 #define IEM_MC_FETCH_MEM_U256(a_u256Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM (a_iSeg)914 #define IEM_MC_FETCH_MEM_U256_NO_AC(a_u256Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM (a_iSeg)915 #define IEM_MC_FETCH_MEM_U256_ALIGN_AVX(a_u256Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM (a_iSeg)916 917 #define IEM_MC_FETCH_MEM_YMM(a_YmmDst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM (a_iSeg)918 #define IEM_MC_FETCH_MEM_YMM_NO_AC(a_YmmDst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM (a_iSeg)919 #define IEM_MC_FETCH_MEM_YMM_ALIGN_AVX(a_YmmDst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM (a_iSeg)913 #define IEM_MC_FETCH_MEM_U256(a_u256Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 914 #define IEM_MC_FETCH_MEM_U256_NO_AC(a_u256Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 915 #define IEM_MC_FETCH_MEM_U256_ALIGN_AVX(a_u256Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 916 917 #define IEM_MC_FETCH_MEM_YMM(a_YmmDst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 918 #define IEM_MC_FETCH_MEM_YMM_NO_AC(a_YmmDst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 919 #define IEM_MC_FETCH_MEM_YMM_ALIGN_AVX(a_YmmDst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 920 920 921 921 #define IEM_MC_FETCH_MEM_FLAT_U256(a_u256Dst, a_GCPtrMem) IEM_LIVENESS_MEM_FLAT() … … 927 927 #define IEM_MC_FETCH_MEM_FLAT_YMM_ALIGN_AVX(a_YmmDst, a_GCPtrMem) IEM_LIVENESS_MEM_FLAT() 928 928 929 #define IEM_MC_FETCH_MEM_U8_ZX_U16(a_u16Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM (a_iSeg)930 #define IEM_MC_FETCH_MEM_U8_ZX_U32(a_u32Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM (a_iSeg)931 #define IEM_MC_FETCH_MEM_U8_ZX_U64(a_u64Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM (a_iSeg)932 #define IEM_MC_FETCH_MEM_U16_ZX_U32(a_u32Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM (a_iSeg)933 #define IEM_MC_FETCH_MEM_U16_ZX_U64(a_u64Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM (a_iSeg)934 #define IEM_MC_FETCH_MEM_U32_ZX_U64(a_u64Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM (a_iSeg)929 #define IEM_MC_FETCH_MEM_U8_ZX_U16(a_u16Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 930 #define IEM_MC_FETCH_MEM_U8_ZX_U32(a_u32Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 931 #define IEM_MC_FETCH_MEM_U8_ZX_U64(a_u64Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 932 #define IEM_MC_FETCH_MEM_U16_ZX_U32(a_u32Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 933 #define IEM_MC_FETCH_MEM_U16_ZX_U64(a_u64Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 934 #define IEM_MC_FETCH_MEM_U32_ZX_U64(a_u64Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 935 935 936 936 #define IEM_MC_FETCH_MEM_FLAT_U8_ZX_U16(a_u16Dst, a_GCPtrMem) IEM_LIVENESS_MEM_FLAT() … … 941 941 #define IEM_MC_FETCH_MEM_FLAT_U32_ZX_U64(a_u64Dst, a_GCPtrMem) IEM_LIVENESS_MEM_FLAT() 942 942 943 #define IEM_MC_FETCH_MEM_U8_SX_U16(a_u16Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM (a_iSeg)944 #define IEM_MC_FETCH_MEM_U8_SX_U32(a_u32Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM (a_iSeg)945 #define IEM_MC_FETCH_MEM_U8_SX_U64(a_u64Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM (a_iSeg)946 #define IEM_MC_FETCH_MEM_U16_SX_U32(a_u32Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM (a_iSeg)947 #define IEM_MC_FETCH_MEM_U16_SX_U64(a_u64Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM (a_iSeg)948 #define IEM_MC_FETCH_MEM_U32_SX_U64(a_u64Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM (a_iSeg)943 #define IEM_MC_FETCH_MEM_U8_SX_U16(a_u16Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 944 #define IEM_MC_FETCH_MEM_U8_SX_U32(a_u32Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 945 #define IEM_MC_FETCH_MEM_U8_SX_U64(a_u64Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 946 #define IEM_MC_FETCH_MEM_U16_SX_U32(a_u32Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 947 #define IEM_MC_FETCH_MEM_U16_SX_U64(a_u64Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 948 #define IEM_MC_FETCH_MEM_U32_SX_U64(a_u64Dst, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 949 949 950 950 #define IEM_MC_FETCH_MEM_FLAT_U8_SX_U16(a_u16Dst, a_GCPtrMem) IEM_LIVENESS_MEM_FLAT() … … 955 955 #define IEM_MC_FETCH_MEM_FLAT_U32_SX_U64(a_u64Dst, a_GCPtrMem) IEM_LIVENESS_MEM_FLAT() 956 956 957 #define IEM_MC_STORE_MEM_U8(a_iSeg, a_GCPtrMem, a_u8Value) IEM_LIVENESS_MEM (a_iSeg)958 #define IEM_MC_STORE_MEM_U16(a_iSeg, a_GCPtrMem, a_u16Value) IEM_LIVENESS_MEM (a_iSeg)959 #define IEM_MC_STORE_MEM_U32(a_iSeg, a_GCPtrMem, a_u32Value) IEM_LIVENESS_MEM (a_iSeg)960 #define IEM_MC_STORE_MEM_U64(a_iSeg, a_GCPtrMem, a_u64Value) IEM_LIVENESS_MEM (a_iSeg)957 #define IEM_MC_STORE_MEM_U8(a_iSeg, a_GCPtrMem, a_u8Value) IEM_LIVENESS_MEM_SEG(a_iSeg) 958 #define IEM_MC_STORE_MEM_U16(a_iSeg, a_GCPtrMem, a_u16Value) IEM_LIVENESS_MEM_SEG(a_iSeg) 959 #define IEM_MC_STORE_MEM_U32(a_iSeg, a_GCPtrMem, a_u32Value) IEM_LIVENESS_MEM_SEG(a_iSeg) 960 #define IEM_MC_STORE_MEM_U64(a_iSeg, a_GCPtrMem, a_u64Value) IEM_LIVENESS_MEM_SEG(a_iSeg) 961 961 962 962 #define IEM_MC_STORE_MEM_FLAT_U8(a_GCPtrMem, a_u8Value) IEM_LIVENESS_MEM_FLAT() … … 965 965 #define IEM_MC_STORE_MEM_FLAT_U64(a_GCPtrMem, a_u64Value) IEM_LIVENESS_MEM_FLAT() 966 966 967 #define IEM_MC_STORE_MEM_U8_CONST(a_iSeg, a_GCPtrMem, a_u8C) IEM_LIVENESS_MEM (a_iSeg)968 #define IEM_MC_STORE_MEM_U16_CONST(a_iSeg, a_GCPtrMem, a_u16C) IEM_LIVENESS_MEM (a_iSeg)969 #define IEM_MC_STORE_MEM_U32_CONST(a_iSeg, a_GCPtrMem, a_u32C) IEM_LIVENESS_MEM (a_iSeg)970 #define IEM_MC_STORE_MEM_U64_CONST(a_iSeg, a_GCPtrMem, a_u64C) IEM_LIVENESS_MEM (a_iSeg)967 #define IEM_MC_STORE_MEM_U8_CONST(a_iSeg, a_GCPtrMem, a_u8C) IEM_LIVENESS_MEM_SEG(a_iSeg) 968 #define IEM_MC_STORE_MEM_U16_CONST(a_iSeg, a_GCPtrMem, a_u16C) IEM_LIVENESS_MEM_SEG(a_iSeg) 969 #define IEM_MC_STORE_MEM_U32_CONST(a_iSeg, a_GCPtrMem, a_u32C) IEM_LIVENESS_MEM_SEG(a_iSeg) 970 #define IEM_MC_STORE_MEM_U64_CONST(a_iSeg, a_GCPtrMem, a_u64C) IEM_LIVENESS_MEM_SEG(a_iSeg) 971 971 972 972 #define IEM_MC_STORE_MEM_FLAT_U8_CONST(a_GCPtrMem, a_u8C) IEM_LIVENESS_MEM_FLAT() … … 984 984 #define IEM_MC_STORE_MEM_INDEF_D80_BY_REF(a_pd80Dst) NOP() 985 985 986 #define IEM_MC_STORE_MEM_U128(a_iSeg, a_GCPtrMem, a_u128Value) IEM_LIVENESS_MEM (a_iSeg)987 #define IEM_MC_STORE_MEM_U128_ALIGN_SSE(a_iSeg, a_GCPtrMem, a_u128Value) IEM_LIVENESS_MEM (a_iSeg)988 #define IEM_MC_STORE_MEM_U128_NO_AC(a_iSeg, a_GCPtrMem, a_u128Value) IEM_LIVENESS_MEM (a_iSeg)986 #define IEM_MC_STORE_MEM_U128(a_iSeg, a_GCPtrMem, a_u128Value) IEM_LIVENESS_MEM_SEG(a_iSeg) 987 #define IEM_MC_STORE_MEM_U128_ALIGN_SSE(a_iSeg, a_GCPtrMem, a_u128Value) IEM_LIVENESS_MEM_SEG(a_iSeg) 988 #define IEM_MC_STORE_MEM_U128_NO_AC(a_iSeg, a_GCPtrMem, a_u128Value) IEM_LIVENESS_MEM_SEG(a_iSeg) 989 989 990 990 #define IEM_MC_STORE_MEM_FLAT_U128(a_GCPtrMem, a_u128Value) IEM_LIVENESS_MEM_FLAT() … … 992 992 #define IEM_MC_STORE_MEM_FLAT_U128_NO_AC(a_GCPtrMem, a_u128Value) IEM_LIVENESS_MEM_FLAT() 993 993 994 #define IEM_MC_STORE_MEM_U256(a_iSeg, a_GCPtrMem, a_u256Value) IEM_LIVENESS_MEM (a_iSeg)995 #define IEM_MC_STORE_MEM_U256_ALIGN_AVX(a_iSeg, a_GCPtrMem, a_u256Value) IEM_LIVENESS_MEM (a_iSeg)996 #define IEM_MC_STORE_MEM_U256_NO_AC(a_iSeg, a_GCPtrMem, a_u256Value) IEM_LIVENESS_MEM (a_iSeg)994 #define IEM_MC_STORE_MEM_U256(a_iSeg, a_GCPtrMem, a_u256Value) IEM_LIVENESS_MEM_SEG(a_iSeg) 995 #define IEM_MC_STORE_MEM_U256_ALIGN_AVX(a_iSeg, a_GCPtrMem, a_u256Value) IEM_LIVENESS_MEM_SEG(a_iSeg) 996 #define IEM_MC_STORE_MEM_U256_NO_AC(a_iSeg, a_GCPtrMem, a_u256Value) IEM_LIVENESS_MEM_SEG(a_iSeg) 997 997 998 998 #define IEM_MC_STORE_MEM_FLAT_U256(a_GCPtrMem, a_u256Value) IEM_LIVENESS_MEM_FLAT() … … 1025 1025 1026 1026 1027 #define IEM_MC_MEM_ MAP_U8_ATOMIC(a_pu8Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM(a_iSeg)1028 #define IEM_MC_MEM_ MAP_U8_RW(a_pu8Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM(a_iSeg)1029 #define IEM_MC_MEM_ MAP_U8_WO(a_pu8Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM(a_iSeg)1030 #define IEM_MC_MEM_ MAP_U8_RO(a_pu8Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM(a_iSeg)1027 #define IEM_MC_MEM_SEG_MAP_U8_ATOMIC(a_pu8Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 1028 #define IEM_MC_MEM_SEG_MAP_U8_RW(a_pu8Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 1029 #define IEM_MC_MEM_SEG_MAP_U8_WO(a_pu8Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 1030 #define IEM_MC_MEM_SEG_MAP_U8_RO(a_pu8Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 1031 1031 #define IEM_MC_MEM_FLAT_MAP_U8_ATOMIC(a_pu8Mem, a_bUnmapInfo, a_GCPtrMem) IEM_LIVENESS_MEM_FLAT() 1032 1032 #define IEM_MC_MEM_FLAT_MAP_U8_RW(a_pu8Mem, a_bUnmapInfo, a_GCPtrMem) IEM_LIVENESS_MEM_FLAT() 1033 1033 #define IEM_MC_MEM_FLAT_MAP_U8_WO(a_pu8Mem, a_bUnmapInfo, a_GCPtrMem) IEM_LIVENESS_MEM_FLAT() 1034 1034 #define IEM_MC_MEM_FLAT_MAP_U8_RO(a_pu8Mem, a_bUnmapInfo, a_GCPtrMem) IEM_LIVENESS_MEM_FLAT() 1035 #define IEM_MC_MEM_ MAP_U16_ATOMIC(a_pu16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM(a_iSeg)1036 #define IEM_MC_MEM_ MAP_U16_RW(a_pu16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM(a_iSeg)1037 #define IEM_MC_MEM_ MAP_U16_WO(a_pu16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM(a_iSeg)1038 #define IEM_MC_MEM_ MAP_U16_RO(a_pu16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM(a_iSeg)1035 #define IEM_MC_MEM_SEG_MAP_U16_ATOMIC(a_pu16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 1036 #define IEM_MC_MEM_SEG_MAP_U16_RW(a_pu16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 1037 #define IEM_MC_MEM_SEG_MAP_U16_WO(a_pu16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 1038 #define IEM_MC_MEM_SEG_MAP_U16_RO(a_pu16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 1039 1039 #define IEM_MC_MEM_FLAT_MAP_U16_ATOMIC(a_pu16Mem, a_bUnmapInfo, a_GCPtrMem) IEM_LIVENESS_MEM_FLAT() 1040 1040 #define IEM_MC_MEM_FLAT_MAP_U16_RW(a_pu16Mem, a_bUnmapInfo, a_GCPtrMem) IEM_LIVENESS_MEM_FLAT() 1041 1041 #define IEM_MC_MEM_FLAT_MAP_U16_WO(a_pu16Mem, a_bUnmapInfo, a_GCPtrMem) IEM_LIVENESS_MEM_FLAT() 1042 1042 #define IEM_MC_MEM_FLAT_MAP_U16_RO(a_pu16Mem, a_bUnmapInfo, a_GCPtrMem) IEM_LIVENESS_MEM_FLAT() 1043 #define IEM_MC_MEM_ MAP_I16_WO(a_pi16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM(a_iSeg)1043 #define IEM_MC_MEM_SEG_MAP_I16_WO(a_pi16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 1044 1044 #define IEM_MC_MEM_FLAT_MAP_I16_WO(a_pi16Mem, a_bUnmapInfo, a_GCPtrMem) IEM_LIVENESS_MEM_FLAT() 1045 #define IEM_MC_MEM_ MAP_U32_ATOMIC(a_pu32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM(a_iSeg)1046 #define IEM_MC_MEM_ MAP_U32_RW(a_pu32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM(a_iSeg)1047 #define IEM_MC_MEM_ MAP_U32_WO(a_pu32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM(a_iSeg)1048 #define IEM_MC_MEM_ MAP_U32_RO(a_pu32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM(a_iSeg)1045 #define IEM_MC_MEM_SEG_MAP_U32_ATOMIC(a_pu32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 1046 #define IEM_MC_MEM_SEG_MAP_U32_RW(a_pu32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 1047 #define IEM_MC_MEM_SEG_MAP_U32_WO(a_pu32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 1048 #define IEM_MC_MEM_SEG_MAP_U32_RO(a_pu32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 1049 1049 #define IEM_MC_MEM_FLAT_MAP_U32_ATOMIC(a_pu32Mem, a_bUnmapInfo, a_GCPtrMem) IEM_LIVENESS_MEM_FLAT() 1050 1050 #define IEM_MC_MEM_FLAT_MAP_U32_RW(a_pu32Mem, a_bUnmapInfo, a_GCPtrMem) IEM_LIVENESS_MEM_FLAT() 1051 1051 #define IEM_MC_MEM_FLAT_MAP_U32_WO(a_pu32Mem, a_bUnmapInfo, a_GCPtrMem) IEM_LIVENESS_MEM_FLAT() 1052 1052 #define IEM_MC_MEM_FLAT_MAP_U32_RO(a_pu32Mem, a_bUnmapInfo, a_GCPtrMem) IEM_LIVENESS_MEM_FLAT() 1053 #define IEM_MC_MEM_ MAP_I32_WO(a_pi32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM(a_iSeg)1053 #define IEM_MC_MEM_SEG_MAP_I32_WO(a_pi32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 1054 1054 #define IEM_MC_MEM_FLAT_MAP_I32_WO(a_pi32Mem, a_bUnmapInfo, a_GCPtrMem) IEM_LIVENESS_MEM_FLAT() 1055 #define IEM_MC_MEM_ MAP_R32_WO(a_pr32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM(a_iSeg)1055 #define IEM_MC_MEM_SEG_MAP_R32_WO(a_pr32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 1056 1056 #define IEM_MC_MEM_FLAT_MAP_R32_WO(a_pr32Mem, a_bUnmapInfo, a_GCPtrMem) IEM_LIVENESS_MEM_FLAT() 1057 #define IEM_MC_MEM_ MAP_U64_ATOMIC(a_pu64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM(a_iSeg)1058 #define IEM_MC_MEM_ MAP_U64_RW(a_pu64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM(a_iSeg)1059 #define IEM_MC_MEM_ MAP_U64_WO(a_pu64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM(a_iSeg)1060 #define IEM_MC_MEM_ MAP_U64_RO(a_pu64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM(a_iSeg)1057 #define IEM_MC_MEM_SEG_MAP_U64_ATOMIC(a_pu64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 1058 #define IEM_MC_MEM_SEG_MAP_U64_RW(a_pu64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 1059 #define IEM_MC_MEM_SEG_MAP_U64_WO(a_pu64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 1060 #define IEM_MC_MEM_SEG_MAP_U64_RO(a_pu64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 1061 1061 #define IEM_MC_MEM_FLAT_MAP_U64_ATOMIC(a_pu64Mem, a_bUnmapInfo, a_GCPtrMem) IEM_LIVENESS_MEM_FLAT() 1062 1062 #define IEM_MC_MEM_FLAT_MAP_U64_RW(a_pu64Mem, a_bUnmapInfo, a_GCPtrMem) IEM_LIVENESS_MEM_FLAT() 1063 1063 #define IEM_MC_MEM_FLAT_MAP_U64_WO(a_pu64Mem, a_bUnmapInfo, a_GCPtrMem) IEM_LIVENESS_MEM_FLAT() 1064 1064 #define IEM_MC_MEM_FLAT_MAP_U64_RO(a_pu64Mem, a_bUnmapInfo, a_GCPtrMem) IEM_LIVENESS_MEM_FLAT() 1065 #define IEM_MC_MEM_ MAP_I64_WO(a_pi64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM(a_iSeg)1065 #define IEM_MC_MEM_SEG_MAP_I64_WO(a_pi64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 1066 1066 #define IEM_MC_MEM_FLAT_MAP_I64_WO(a_pi64Mem, a_bUnmapInfo, a_GCPtrMem) IEM_LIVENESS_MEM_FLAT() 1067 #define IEM_MC_MEM_ MAP_R64_WO(a_pr64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM(a_iSeg)1067 #define IEM_MC_MEM_SEG_MAP_R64_WO(a_pr64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 1068 1068 #define IEM_MC_MEM_FLAT_MAP_R64_WO(a_pr64Mem, a_bUnmapInfo, a_GCPtrMem) IEM_LIVENESS_MEM_FLAT() 1069 #define IEM_MC_MEM_ MAP_U128_ATOMIC(a_pu128Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM(a_iSeg)1070 #define IEM_MC_MEM_ MAP_U128_RW(a_pu128Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM(a_iSeg)1071 #define IEM_MC_MEM_ MAP_U128_WO(a_pu128Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM(a_iSeg)1072 #define IEM_MC_MEM_ MAP_U128_RO(a_pu128Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM(a_iSeg)1069 #define IEM_MC_MEM_SEG_MAP_U128_ATOMIC(a_pu128Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 1070 #define IEM_MC_MEM_SEG_MAP_U128_RW(a_pu128Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 1071 #define IEM_MC_MEM_SEG_MAP_U128_WO(a_pu128Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 1072 #define IEM_MC_MEM_SEG_MAP_U128_RO(a_pu128Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 1073 1073 #define IEM_MC_MEM_FLAT_MAP_U128_ATOMIC(a_pu128Mem, a_bUnmapInfo, a_GCPtrMem) IEM_LIVENESS_MEM_FLAT() 1074 1074 #define IEM_MC_MEM_FLAT_MAP_U128_RW(a_pu128Mem, a_bUnmapInfo, a_GCPtrMem) IEM_LIVENESS_MEM_FLAT() 1075 1075 #define IEM_MC_MEM_FLAT_MAP_U128_WO(a_pu128Mem, a_bUnmapInfo, a_GCPtrMem) IEM_LIVENESS_MEM_FLAT() 1076 1076 #define IEM_MC_MEM_FLAT_MAP_U128_RO(a_pu128Mem, a_bUnmapInfo, a_GCPtrMem) IEM_LIVENESS_MEM_FLAT() 1077 #define IEM_MC_MEM_ MAP_R80_WO(a_pr80Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM(a_iSeg)1077 #define IEM_MC_MEM_SEG_MAP_R80_WO(a_pr80Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 1078 1078 #define IEM_MC_MEM_FLAT_MAP_R80_WO(a_pr80Mem, a_bUnmapInfo, a_GCPtrMem) IEM_LIVENESS_MEM_FLAT() 1079 #define IEM_MC_MEM_ MAP_D80_WO(a_pd80Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM(a_iSeg)1079 #define IEM_MC_MEM_SEG_MAP_D80_WO(a_pd80Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) IEM_LIVENESS_MEM_SEG(a_iSeg) 1080 1080 #define IEM_MC_MEM_FLAT_MAP_D80_WO(a_pd80Mem, a_bUnmapInfo, a_GCPtrMem) IEM_LIVENESS_MEM_FLAT() 1081 1081 -
trunk/src/VBox/VMM/VMMAll/target-x86/IEMAllN8veRecompFuncs-x86.h
r108278 r108287 8876 8876 8877 8877 /********************************************************************************************************************************* 8878 * Memory mapping (IEM_M EM_MAP_XXX, IEM_MEM_FLAT_MAP_XXX).*8878 * Memory mapping (IEM_MC_MEM_SEG_MAP_XXX, IEM_MC_MEM_FLAT_MAP_XXX). * 8879 8879 *********************************************************************************************************************************/ 8880 8880 8881 #define IEM_MC_MEM_ MAP_U8_ATOMIC(a_pu8Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \8881 #define IEM_MC_MEM_SEG_MAP_U8_ATOMIC(a_pu8Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 8882 8882 off = iemNativeEmitMemMapCommon<sizeof(uint8_t), IEM_ACCESS_DATA_ATOMIC, 0 /*fAlignMaskAndCtl*/>(\ 8883 8883 pReNative, off, a_pu8Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem, (uintptr_t)iemNativeHlpMemMapDataU8Atomic, pCallEntry->idxInstr) 8884 8884 8885 #define IEM_MC_MEM_ MAP_U8_RW(a_pu8Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \8885 #define IEM_MC_MEM_SEG_MAP_U8_RW(a_pu8Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 8886 8886 off = iemNativeEmitMemMapCommon<sizeof(uint8_t), IEM_ACCESS_DATA_RW, 0 /*fAlignMaskAndCtl*/>(\ 8887 8887 pReNative, off, a_pu8Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem, (uintptr_t)iemNativeHlpMemMapDataU8Rw, pCallEntry->idxInstr) 8888 8888 8889 #define IEM_MC_MEM_ MAP_U8_WO(a_pu8Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \8889 #define IEM_MC_MEM_SEG_MAP_U8_WO(a_pu8Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 8890 8890 off = iemNativeEmitMemMapCommon<sizeof(uint8_t), IEM_ACCESS_DATA_W, 0 /*fAlignMaskAndCtl*/>(\ 8891 8891 pReNative, off, a_pu8Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem, (uintptr_t)iemNativeHlpMemMapDataU8Wo, pCallEntry->idxInstr) \ 8892 8892 8893 #define IEM_MC_MEM_ MAP_U8_RO(a_pu8Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \8893 #define IEM_MC_MEM_SEG_MAP_U8_RO(a_pu8Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 8894 8894 off = iemNativeEmitMemMapCommon<sizeof(uint8_t), IEM_ACCESS_DATA_R, 0 /*fAlignMaskAndCtl*/>(\ 8895 8895 pReNative, off, a_pu8Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem, (uintptr_t)iemNativeHlpMemMapDataU8Ro, pCallEntry->idxInstr) 8896 8896 8897 8897 8898 #define IEM_MC_MEM_ MAP_U16_ATOMIC(a_pu16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \8898 #define IEM_MC_MEM_SEG_MAP_U16_ATOMIC(a_pu16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 8899 8899 off = iemNativeEmitMemMapCommon<sizeof(uint16_t), IEM_ACCESS_DATA_ATOMIC, sizeof(uint16_t) - 1 /*fAlignMaskAndCtl*/>(\ 8900 8900 pReNative, off, a_pu16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem, (uintptr_t)iemNativeHlpMemMapDataU16Atomic, pCallEntry->idxInstr) 8901 8901 8902 #define IEM_MC_MEM_ MAP_U16_RW(a_pu16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \8902 #define IEM_MC_MEM_SEG_MAP_U16_RW(a_pu16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 8903 8903 off = iemNativeEmitMemMapCommon<sizeof(uint16_t), IEM_ACCESS_DATA_RW, sizeof(uint16_t) - 1 /*fAlignMaskAndCtl*/>(\ 8904 8904 pReNative, off, a_pu16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem, (uintptr_t)iemNativeHlpMemMapDataU16Rw, pCallEntry->idxInstr) 8905 8905 8906 #define IEM_MC_MEM_ MAP_U16_WO(a_pu16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \8906 #define IEM_MC_MEM_SEG_MAP_U16_WO(a_pu16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 8907 8907 off = iemNativeEmitMemMapCommon<sizeof(uint16_t), IEM_ACCESS_DATA_W, sizeof(uint16_t) - 1 /*fAlignMaskAndCtl*/>(\ 8908 8908 pReNative, off, a_pu16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem, (uintptr_t)iemNativeHlpMemMapDataU16Wo, pCallEntry->idxInstr) \ 8909 8909 8910 #define IEM_MC_MEM_ MAP_U16_RO(a_pu16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \8910 #define IEM_MC_MEM_SEG_MAP_U16_RO(a_pu16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 8911 8911 off = iemNativeEmitMemMapCommon<sizeof(uint16_t), IEM_ACCESS_DATA_R, sizeof(uint16_t) - 1 /*fAlignMaskAndCtl*/>(\ 8912 8912 pReNative, off, a_pu16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem, (uintptr_t)iemNativeHlpMemMapDataU16Ro, pCallEntry->idxInstr) 8913 8913 8914 #define IEM_MC_MEM_ MAP_I16_WO(a_pi16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \8914 #define IEM_MC_MEM_SEG_MAP_I16_WO(a_pi16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 8915 8915 off = iemNativeEmitMemMapCommon<sizeof(int16_t), IEM_ACCESS_DATA_W, sizeof(uint16_t) - 1 /*fAlignMaskAndCtl*/>(\ 8916 8916 pReNative, off, a_pi16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem, (uintptr_t)iemNativeHlpMemMapDataU16Wo, pCallEntry->idxInstr) \ 8917 8917 8918 8918 8919 #define IEM_MC_MEM_ MAP_U32_ATOMIC(a_pu32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \8919 #define IEM_MC_MEM_SEG_MAP_U32_ATOMIC(a_pu32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 8920 8920 off = iemNativeEmitMemMapCommon<sizeof(uint32_t), IEM_ACCESS_DATA_ATOMIC, sizeof(uint32_t) - 1 /*fAlignMaskAndCtl*/>(\ 8921 8921 pReNative, off, a_pu32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem, (uintptr_t)iemNativeHlpMemMapDataU32Atomic, pCallEntry->idxInstr) 8922 8922 8923 #define IEM_MC_MEM_ MAP_U32_RW(a_pu32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \8923 #define IEM_MC_MEM_SEG_MAP_U32_RW(a_pu32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 8924 8924 off = iemNativeEmitMemMapCommon<sizeof(uint32_t), IEM_ACCESS_DATA_RW, sizeof(uint32_t) - 1 /*fAlignMaskAndCtl*/>(\ 8925 8925 pReNative, off, a_pu32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem, (uintptr_t)iemNativeHlpMemMapDataU32Rw, pCallEntry->idxInstr) 8926 8926 8927 #define IEM_MC_MEM_ MAP_U32_WO(a_pu32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \8927 #define IEM_MC_MEM_SEG_MAP_U32_WO(a_pu32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 8928 8928 off = iemNativeEmitMemMapCommon<sizeof(uint32_t), IEM_ACCESS_DATA_W, sizeof(uint32_t) - 1 /*fAlignMaskAndCtl*/>(\ 8929 8929 pReNative, off, a_pu32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem, (uintptr_t)iemNativeHlpMemMapDataU32Wo, pCallEntry->idxInstr) \ 8930 8930 8931 #define IEM_MC_MEM_ MAP_U32_RO(a_pu32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \8931 #define IEM_MC_MEM_SEG_MAP_U32_RO(a_pu32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 8932 8932 off = iemNativeEmitMemMapCommon<sizeof(uint32_t), IEM_ACCESS_DATA_R, sizeof(uint32_t) - 1 /*fAlignMaskAndCtl*/>(\ 8933 8933 pReNative, off, a_pu32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem, (uintptr_t)iemNativeHlpMemMapDataU32Ro, pCallEntry->idxInstr) 8934 8934 8935 #define IEM_MC_MEM_ MAP_I32_WO(a_pi32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \8935 #define IEM_MC_MEM_SEG_MAP_I32_WO(a_pi32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 8936 8936 off = iemNativeEmitMemMapCommon<sizeof(int32_t), IEM_ACCESS_DATA_W, sizeof(uint32_t) - 1 /*fAlignMaskAndCtl*/>(\ 8937 8937 pReNative, off, a_pi32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem, (uintptr_t)iemNativeHlpMemMapDataU32Wo, pCallEntry->idxInstr) \ 8938 8938 8939 8939 8940 #define IEM_MC_MEM_ MAP_U64_ATOMIC(a_pu64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \8940 #define IEM_MC_MEM_SEG_MAP_U64_ATOMIC(a_pu64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 8941 8941 off = iemNativeEmitMemMapCommon<sizeof(uint64_t), IEM_ACCESS_DATA_ATOMIC, sizeof(uint64_t) - 1 /*fAlignMaskAndCtl*/>(\ 8942 8942 pReNative, off, a_pu64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem, (uintptr_t)iemNativeHlpMemMapDataU64Atomic, pCallEntry->idxInstr) 8943 8943 8944 #define IEM_MC_MEM_ MAP_U64_RW(a_pu64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \8944 #define IEM_MC_MEM_SEG_MAP_U64_RW(a_pu64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 8945 8945 off = iemNativeEmitMemMapCommon<sizeof(uint64_t), IEM_ACCESS_DATA_RW, sizeof(uint64_t) - 1 /*fAlignMaskAndCtl*/>(\ 8946 8946 pReNative, off, a_pu64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem, (uintptr_t)iemNativeHlpMemMapDataU64Rw, pCallEntry->idxInstr) 8947 #define IEM_MC_MEM_ MAP_U64_WO(a_pu64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \8947 #define IEM_MC_MEM_SEG_MAP_U64_WO(a_pu64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 8948 8948 off = iemNativeEmitMemMapCommon<sizeof(uint64_t), IEM_ACCESS_DATA_W, sizeof(uint64_t) - 1 /*fAlignMaskAndCtl*/>(\ 8949 8949 pReNative, off, a_pu64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem, (uintptr_t)iemNativeHlpMemMapDataU64Wo, pCallEntry->idxInstr) \ 8950 8950 8951 #define IEM_MC_MEM_ MAP_U64_RO(a_pu64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \8951 #define IEM_MC_MEM_SEG_MAP_U64_RO(a_pu64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 8952 8952 off = iemNativeEmitMemMapCommon<sizeof(uint64_t), IEM_ACCESS_DATA_R, sizeof(uint64_t) - 1 /*fAlignMaskAndCtl*/>(\ 8953 8953 pReNative, off, a_pu64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem, (uintptr_t)iemNativeHlpMemMapDataU64Ro, pCallEntry->idxInstr) 8954 8954 8955 #define IEM_MC_MEM_ MAP_I64_WO(a_pi64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \8955 #define IEM_MC_MEM_SEG_MAP_I64_WO(a_pi64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 8956 8956 off = iemNativeEmitMemMapCommon<sizeof(int64_t), IEM_ACCESS_DATA_W, sizeof(uint64_t) - 1 /*fAlignMaskAndCtl*/>(\ 8957 8957 pReNative, off, a_pi64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem, (uintptr_t)iemNativeHlpMemMapDataU64Wo, pCallEntry->idxInstr) \ 8958 8958 8959 8959 8960 #define IEM_MC_MEM_ MAP_R80_WO(a_pr80Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \8960 #define IEM_MC_MEM_SEG_MAP_R80_WO(a_pr80Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 8961 8961 off = iemNativeEmitMemMapCommon<sizeof(RTFLOAT80U), IEM_ACCESS_DATA_W, sizeof(uint64_t) - 1 /*fAlignMaskAndCtl*/>(\ 8962 8962 pReNative, off, a_pr80Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem, (uintptr_t)iemNativeHlpMemMapDataR80Wo, pCallEntry->idxInstr) \ 8963 8963 8964 #define IEM_MC_MEM_ MAP_D80_WO(a_pd80Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \8964 #define IEM_MC_MEM_SEG_MAP_D80_WO(a_pd80Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 8965 8965 off = iemNativeEmitMemMapCommon<sizeof(RTFLOAT80U), IEM_ACCESS_DATA_W, \ 8966 8966 sizeof(uint64_t) - 1 /*fAlignMaskAndCtl*/ /** @todo check BCD align */>(\ … … 8968 8968 8969 8969 8970 #define IEM_MC_MEM_ MAP_U128_ATOMIC(a_pu128Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \8970 #define IEM_MC_MEM_SEG_MAP_U128_ATOMIC(a_pu128Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 8971 8971 off = iemNativeEmitMemMapCommon<sizeof(RTUINT128U), IEM_ACCESS_DATA_ATOMIC, sizeof(RTUINT128U) - 1 /*fAlignMaskAndCtl*/>(\ 8972 8972 pReNative, off, a_pu128Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem, (uintptr_t)iemNativeHlpMemMapDataU128Atomic, pCallEntry->idxInstr) 8973 8973 8974 #define IEM_MC_MEM_ MAP_U128_RW(a_pu128Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \8974 #define IEM_MC_MEM_SEG_MAP_U128_RW(a_pu128Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 8975 8975 off = iemNativeEmitMemMapCommon<sizeof(RTUINT128U), IEM_ACCESS_DATA_RW, sizeof(RTUINT128U) - 1 /*fAlignMaskAndCtl*/>(\ 8976 8976 pReNative, off, a_pu128Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem, (uintptr_t)iemNativeHlpMemMapDataU128Rw, pCallEntry->idxInstr) 8977 8977 8978 #define IEM_MC_MEM_ MAP_U128_WO(a_pu128Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \8978 #define IEM_MC_MEM_SEG_MAP_U128_WO(a_pu128Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 8979 8979 off = iemNativeEmitMemMapCommon<sizeof(RTUINT128U), IEM_ACCESS_DATA_W, sizeof(RTUINT128U) - 1 /*fAlignMaskAndCtl*/>(\ 8980 8980 pReNative, off, a_pu128Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem, (uintptr_t)iemNativeHlpMemMapDataU128Wo, pCallEntry->idxInstr) \ 8981 8981 8982 #define IEM_MC_MEM_ MAP_U128_RO(a_pu128Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \8982 #define IEM_MC_MEM_SEG_MAP_U128_RO(a_pu128Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 8983 8983 off = iemNativeEmitMemMapCommon<sizeof(RTUINT128U), IEM_ACCESS_DATA_R, sizeof(RTUINT128U) - 1 /*fAlignMaskAndCtl*/>(\ 8984 8984 pReNative, off, a_pu128Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem, (uintptr_t)iemNativeHlpMemMapDataU128Ro, pCallEntry->idxInstr) -
trunk/src/VBox/VMM/include/IEMMc.h
r108278 r108287 1399 1399 * @see IEM_MC_MEM_COMMIT_AND_UNMAP_ATOMIC 1400 1400 */ 1401 #define IEM_MC_MEM_ MAP_U8_ATOMIC(a_pu8Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \1401 #define IEM_MC_MEM_SEG_MAP_U8_ATOMIC(a_pu8Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 1402 1402 (a_pu8Mem) = iemMemMapDataU8AtJmp(pVCpu, &(a_bUnmapInfo), (a_iSeg), (a_GCPtrMem)) 1403 1403 … … 1412 1412 * @see IEM_MC_MEM_COMMIT_AND_UNMAP_RW 1413 1413 */ 1414 #define IEM_MC_MEM_ MAP_U8_RW(a_pu8Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \1414 #define IEM_MC_MEM_SEG_MAP_U8_RW(a_pu8Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 1415 1415 (a_pu8Mem) = iemMemMapDataU8RwJmp(pVCpu, &(a_bUnmapInfo), (a_iSeg), (a_GCPtrMem)) 1416 1416 … … 1425 1425 * @see IEM_MC_MEM_COMMIT_AND_UNMAP_WO 1426 1426 */ 1427 #define IEM_MC_MEM_ MAP_U8_WO(a_pu8Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \1427 #define IEM_MC_MEM_SEG_MAP_U8_WO(a_pu8Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 1428 1428 (a_pu8Mem) = iemMemMapDataU8WoJmp(pVCpu, &(a_bUnmapInfo), (a_iSeg), (a_GCPtrMem)) 1429 1429 … … 1438 1438 * @see IEM_MC_MEM_COMMIT_AND_UNMAP_RO 1439 1439 */ 1440 #define IEM_MC_MEM_ MAP_U8_RO(a_pu8Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \1440 #define IEM_MC_MEM_SEG_MAP_U8_RO(a_pu8Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 1441 1441 (a_pu8Mem) = iemMemMapDataU8RoJmp(pVCpu, &(a_bUnmapInfo), (a_iSeg), (a_GCPtrMem)) 1442 1442 … … 1506 1506 * @see IEM_MC_MEM_COMMIT_AND_UNMAP_ATOMIC 1507 1507 */ 1508 #define IEM_MC_MEM_ MAP_U16_ATOMIC(a_pu16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \1508 #define IEM_MC_MEM_SEG_MAP_U16_ATOMIC(a_pu16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 1509 1509 (a_pu16Mem) = iemMemMapDataU16AtJmp(pVCpu, &(a_bUnmapInfo), (a_iSeg), (a_GCPtrMem)) 1510 1510 … … 1519 1519 * @see IEM_MC_MEM_COMMIT_AND_UNMAP_RW 1520 1520 */ 1521 #define IEM_MC_MEM_ MAP_U16_RW(a_pu16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \1521 #define IEM_MC_MEM_SEG_MAP_U16_RW(a_pu16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 1522 1522 (a_pu16Mem) = iemMemMapDataU16RwJmp(pVCpu, &(a_bUnmapInfo), (a_iSeg), (a_GCPtrMem)) 1523 1523 … … 1532 1532 * @see IEM_MC_MEM_COMMIT_AND_UNMAP_WO 1533 1533 */ 1534 #define IEM_MC_MEM_ MAP_U16_WO(a_pu16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \1534 #define IEM_MC_MEM_SEG_MAP_U16_WO(a_pu16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 1535 1535 (a_pu16Mem) = iemMemMapDataU16WoJmp(pVCpu, &(a_bUnmapInfo), (a_iSeg), (a_GCPtrMem)) 1536 1536 … … 1545 1545 * @see IEM_MC_MEM_COMMIT_AND_UNMAP_RO 1546 1546 */ 1547 #define IEM_MC_MEM_ MAP_U16_RO(a_pu16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \1547 #define IEM_MC_MEM_SEG_MAP_U16_RO(a_pu16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 1548 1548 (a_pu16Mem) = iemMemMapDataU16RoJmp(pVCpu, &(a_bUnmapInfo), (a_iSeg), (a_GCPtrMem)) 1549 1549 … … 1601 1601 1602 1602 /** int16_t alias. */ 1603 #define IEM_MC_MEM_ MAP_I16_WO(a_pi16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \1603 #define IEM_MC_MEM_SEG_MAP_I16_WO(a_pi16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 1604 1604 (a_pi16Mem) = (int16_t *)iemMemMapDataU16WoJmp(pVCpu, &(a_bUnmapInfo), (a_iSeg), (a_GCPtrMem)) 1605 1605 … … 1621 1621 * @see IEM_MC_MEM_COMMIT_AND_UNMAP_ATOMIC 1622 1622 */ 1623 #define IEM_MC_MEM_ MAP_U32_ATOMIC(a_pu32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \1623 #define IEM_MC_MEM_SEG_MAP_U32_ATOMIC(a_pu32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 1624 1624 (a_pu32Mem) = iemMemMapDataU32AtJmp(pVCpu, &(a_bUnmapInfo), (a_iSeg), (a_GCPtrMem)) 1625 1625 … … 1634 1634 * @see IEM_MC_MEM_COMMIT_AND_UNMAP_RW 1635 1635 */ 1636 #define IEM_MC_MEM_ MAP_U32_RW(a_pu32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \1636 #define IEM_MC_MEM_SEG_MAP_U32_RW(a_pu32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 1637 1637 (a_pu32Mem) = iemMemMapDataU32RwJmp(pVCpu, &(a_bUnmapInfo), (a_iSeg), (a_GCPtrMem)) 1638 1638 … … 1647 1647 * @see IEM_MC_MEM_COMMIT_AND_UNMAP_WO 1648 1648 */ 1649 #define IEM_MC_MEM_ MAP_U32_WO(a_pu32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \1649 #define IEM_MC_MEM_SEG_MAP_U32_WO(a_pu32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 1650 1650 (a_pu32Mem) = iemMemMapDataU32WoJmp(pVCpu, &(a_bUnmapInfo), (a_iSeg), (a_GCPtrMem)) 1651 1651 … … 1660 1660 * @see IEM_MC_MEM_COMMIT_AND_UNMAP_RO 1661 1661 */ 1662 #define IEM_MC_MEM_ MAP_U32_RO(a_pu32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \1662 #define IEM_MC_MEM_SEG_MAP_U32_RO(a_pu32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 1663 1663 (a_pu32Mem) = iemMemMapDataU32RoJmp(pVCpu, &(a_bUnmapInfo), (a_iSeg), (a_GCPtrMem)) 1664 1664 … … 1716 1716 1717 1717 /** int32_t alias. */ 1718 #define IEM_MC_MEM_ MAP_I32_WO(a_pi32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \1718 #define IEM_MC_MEM_SEG_MAP_I32_WO(a_pi32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 1719 1719 (a_pi32Mem) = (int32_t *)iemMemMapDataU32WoJmp(pVCpu, &(a_bUnmapInfo), (a_iSeg), (a_GCPtrMem)) 1720 1720 … … 1724 1724 1725 1725 /** RTFLOAT32U alias. */ 1726 #define IEM_MC_MEM_ MAP_R32_WO(a_pr32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \1726 #define IEM_MC_MEM_SEG_MAP_R32_WO(a_pr32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 1727 1727 (a_pr32Mem) = (PRTFLOAT32U)iemMemMapDataU32WoJmp(pVCpu, &(a_bUnmapInfo), (a_iSeg), (a_GCPtrMem)) 1728 1728 … … 1744 1744 * @see IEM_MC_MEM_COMMIT_AND_UNMAP_ATOMIC 1745 1745 */ 1746 #define IEM_MC_MEM_ MAP_U64_ATOMIC(a_pu64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \1746 #define IEM_MC_MEM_SEG_MAP_U64_ATOMIC(a_pu64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 1747 1747 (a_pu64Mem) = iemMemMapDataU64AtJmp(pVCpu, &(a_bUnmapInfo), (a_iSeg), (a_GCPtrMem)) 1748 1748 … … 1757 1757 * @see IEM_MC_MEM_COMMIT_AND_UNMAP_RW 1758 1758 */ 1759 #define IEM_MC_MEM_ MAP_U64_RW(a_pu64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \1759 #define IEM_MC_MEM_SEG_MAP_U64_RW(a_pu64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 1760 1760 (a_pu64Mem) = iemMemMapDataU64RwJmp(pVCpu, &(a_bUnmapInfo), (a_iSeg), (a_GCPtrMem)) 1761 1761 … … 1770 1770 * @see IEM_MC_MEM_COMMIT_AND_UNMAP_WO 1771 1771 */ 1772 #define IEM_MC_MEM_ MAP_U64_WO(a_pu64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \1772 #define IEM_MC_MEM_SEG_MAP_U64_WO(a_pu64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 1773 1773 (a_pu64Mem) = iemMemMapDataU64WoJmp(pVCpu, &(a_bUnmapInfo), (a_iSeg), (a_GCPtrMem)) 1774 1774 … … 1783 1783 * @see IEM_MC_MEM_COMMIT_AND_UNMAP_RO 1784 1784 */ 1785 #define IEM_MC_MEM_ MAP_U64_RO(a_pu64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \1785 #define IEM_MC_MEM_SEG_MAP_U64_RO(a_pu64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 1786 1786 (a_pu64Mem) = iemMemMapDataU64RoJmp(pVCpu, &(a_bUnmapInfo), (a_iSeg), (a_GCPtrMem)) 1787 1787 … … 1839 1839 1840 1840 /** int64_t alias. */ 1841 #define IEM_MC_MEM_ MAP_I64_WO(a_pi64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \1841 #define IEM_MC_MEM_SEG_MAP_I64_WO(a_pi64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 1842 1842 (a_pi64Mem) = (int64_t *)iemMemMapDataU64WoJmp(pVCpu, &(a_bUnmapInfo), (a_iSeg), (a_GCPtrMem)) 1843 1843 … … 1847 1847 1848 1848 /** RTFLOAT64U alias. */ 1849 #define IEM_MC_MEM_ MAP_R64_WO(a_pr64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \1849 #define IEM_MC_MEM_SEG_MAP_R64_WO(a_pr64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 1850 1850 (a_pr64Mem) = (PRTFLOAT64U)iemMemMapDataU64WoJmp(pVCpu, &(a_bUnmapInfo), (a_iSeg), (a_GCPtrMem)) 1851 1851 … … 1867 1867 * @see IEM_MC_MEM_COMMIT_AND_UNMAP_ATOMIC 1868 1868 */ 1869 #define IEM_MC_MEM_ MAP_U128_ATOMIC(a_pu128Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \1869 #define IEM_MC_MEM_SEG_MAP_U128_ATOMIC(a_pu128Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 1870 1870 (a_pu128Mem) = iemMemMapDataU128AtJmp(pVCpu, &(a_bUnmapInfo), (a_iSeg), (a_GCPtrMem)) 1871 1871 … … 1880 1880 * @see IEM_MC_MEM_COMMIT_AND_UNMAP_RW 1881 1881 */ 1882 #define IEM_MC_MEM_ MAP_U128_RW(a_pu128Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \1882 #define IEM_MC_MEM_SEG_MAP_U128_RW(a_pu128Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 1883 1883 (a_pu128Mem) = iemMemMapDataU128RwJmp(pVCpu, &(a_bUnmapInfo), (a_iSeg), (a_GCPtrMem)) 1884 1884 … … 1893 1893 * @see IEM_MC_MEM_COMMIT_AND_UNMAP_WO 1894 1894 */ 1895 #define IEM_MC_MEM_ MAP_U128_WO(a_pu128Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \1895 #define IEM_MC_MEM_SEG_MAP_U128_WO(a_pu128Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 1896 1896 (a_pu128Mem) = iemMemMapDataU128WoJmp(pVCpu, &(a_bUnmapInfo), (a_iSeg), (a_GCPtrMem)) 1897 1897 … … 1906 1906 * @see IEM_MC_MEM_COMMIT_AND_UNMAP_RO 1907 1907 */ 1908 #define IEM_MC_MEM_ MAP_U128_RO(a_pu128Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \1908 #define IEM_MC_MEM_SEG_MAP_U128_RO(a_pu128Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 1909 1909 (a_pu128Mem) = iemMemMapDataU128RoJmp(pVCpu, &(a_bUnmapInfo), (a_iSeg), (a_GCPtrMem)) 1910 1910 … … 1974 1974 * @see IEM_MC_MEM_COMMIT_AND_UNMAP_WO 1975 1975 */ 1976 #define IEM_MC_MEM_ MAP_R80_WO(a_pr80Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \1976 #define IEM_MC_MEM_SEG_MAP_R80_WO(a_pr80Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 1977 1977 (a_pr80Mem) = iemMemMapDataR80WoJmp(pVCpu, &(a_bUnmapInfo), (a_iSeg), (a_GCPtrMem)) 1978 1978 … … 2000 2000 * @see IEM_MC_MEM_COMMIT_AND_UNMAP_WO 2001 2001 */ 2002 #define IEM_MC_MEM_ MAP_D80_WO(a_pd80Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \2002 #define IEM_MC_MEM_SEG_MAP_D80_WO(a_pd80Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) \ 2003 2003 (a_pd80Mem) = iemMemMapDataD80WoJmp(pVCpu, &(a_bUnmapInfo), (a_iSeg), (a_GCPtrMem)) 2004 2004 -
trunk/src/VBox/VMM/testcase/tstIEMCheckMc.cpp
r108269 r108287 987 987 #define IEM_MC_POP_GREG_U64(a_iGReg) do { CHK_GREG_IDX(a_iGReg); (void)fMcBegin; } while (0) 988 988 989 #define IEM_MC_MEM_ MAP_D80_WO(a_pd80Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pd80Mem); (a_pd80Mem) = NULL; CHK_PTYPE(RTPBCD80U *, a_pd80Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0)990 #define IEM_MC_MEM_ MAP_I16_WO(a_pi16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pi16Mem); (a_pi16Mem) = NULL; CHK_PTYPE(int16_t *, a_pi16Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0)991 #define IEM_MC_MEM_ MAP_I32_WO(a_pi32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pi32Mem); (a_pi32Mem) = NULL; CHK_PTYPE(int32_t *, a_pi32Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0)992 #define IEM_MC_MEM_ MAP_I64_WO(a_pi64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pi64Mem); (a_pi64Mem) = NULL; CHK_PTYPE(int64_t *, a_pi64Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0)993 #define IEM_MC_MEM_ MAP_R32_WO(a_pr32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pr32Mem); (a_pr32Mem) = NULL; CHK_PTYPE(RTFLOAT32U *, a_pr32Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0)994 #define IEM_MC_MEM_ MAP_R64_WO(a_pr64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pr64Mem); (a_pr64Mem) = NULL; CHK_PTYPE(RTFLOAT64U *, a_pr64Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0)995 #define IEM_MC_MEM_ MAP_R80_WO(a_pr80Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pr80Mem); (a_pr80Mem) = NULL; CHK_PTYPE(RTFLOAT80U *, a_pr80Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0)996 #define IEM_MC_MEM_ MAP_U8_ATOMIC(a_pu8Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pu8Mem); (a_pu8Mem) = NULL; CHK_PTYPE(uint8_t *, a_pu8Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0)997 #define IEM_MC_MEM_ MAP_U8_RW(a_pu8Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pu8Mem); (a_pu8Mem) = NULL; CHK_PTYPE(uint8_t *, a_pu8Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0)998 #define IEM_MC_MEM_ MAP_U8_RO(a_pu8Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pu8Mem); (a_pu8Mem) = NULL; CHK_PTYPE(uint8_t const *, a_pu8Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0)999 #define IEM_MC_MEM_ MAP_U8_WO(a_pu8Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pu8Mem); (a_pu8Mem) = NULL; CHK_PTYPE(uint8_t *, a_pu8Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0)1000 #define IEM_MC_MEM_ MAP_U16_ATOMIC(a_pu16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pu16Mem); (a_pu16Mem) = NULL; CHK_PTYPE(uint16_t *, a_pu16Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0)1001 #define IEM_MC_MEM_ MAP_U16_RW(a_pu16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pu16Mem); (a_pu16Mem) = NULL; CHK_PTYPE(uint16_t *, a_pu16Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0)1002 #define IEM_MC_MEM_ MAP_U16_RO(a_pu16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pu16Mem); (a_pu16Mem) = NULL; CHK_PTYPE(uint16_t const *, a_pu16Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0)1003 #define IEM_MC_MEM_ MAP_U16_WO(a_pu16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pu16Mem); (a_pu16Mem) = NULL; CHK_PTYPE(uint16_t *, a_pu16Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0)1004 #define IEM_MC_MEM_ MAP_U32_ATOMIC(a_pu32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pu32Mem); (a_pu32Mem) = NULL; CHK_PTYPE(uint32_t *, a_pu32Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0)1005 #define IEM_MC_MEM_ MAP_U32_RW(a_pu32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pu32Mem); (a_pu32Mem) = NULL; CHK_PTYPE(uint32_t *, a_pu32Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0)1006 #define IEM_MC_MEM_ MAP_U32_RO(a_pu32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pu32Mem); (a_pu32Mem) = NULL; CHK_PTYPE(uint32_t const *, a_pu32Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0)1007 #define IEM_MC_MEM_ MAP_U32_WO(a_pu32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pu32Mem); (a_pu32Mem) = NULL; CHK_PTYPE(uint32_t *, a_pu32Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0)1008 #define IEM_MC_MEM_ MAP_U64_ATOMIC(a_pu64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pu64Mem); (a_pu64Mem) = NULL; CHK_PTYPE(uint64_t *, a_pu64Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0)1009 #define IEM_MC_MEM_ MAP_U64_RW(a_pu64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pu64Mem); (a_pu64Mem) = NULL; CHK_PTYPE(uint64_t *, a_pu64Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0)1010 #define IEM_MC_MEM_ MAP_U64_RO(a_pu64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pu64Mem); (a_pu64Mem) = NULL; CHK_PTYPE(uint64_t const *, a_pu64Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0)1011 #define IEM_MC_MEM_ MAP_U64_WO(a_pu64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pu64Mem); (a_pu64Mem) = NULL; CHK_PTYPE(uint64_t *, a_pu64Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0)1012 #define IEM_MC_MEM_ MAP_U128_ATOMIC(a_pu128Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do{ CHK_VAR(a_pu128Mem); (a_pu128Mem) = NULL; CHK_PTYPE(RTUINT128U *, a_pu128Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0)1013 #define IEM_MC_MEM_ MAP_U128_RW(a_pu128Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pu128Mem); (a_pu128Mem) = NULL; CHK_PTYPE(RTUINT128U *, a_pu128Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0)1014 #define IEM_MC_MEM_ MAP_U128_RO(a_pu128Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pu128Mem); (a_pu128Mem) = NULL; CHK_PTYPE(RTUINT128U const *, a_pu128Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0)1015 #define IEM_MC_MEM_ MAP_U128_WO(a_pu128Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pu128Mem); (a_pu128Mem) = NULL; CHK_PTYPE(RTUINT128U *, a_pu128Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0)989 #define IEM_MC_MEM_SEG_MAP_D80_WO(a_pd80Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pd80Mem); (a_pd80Mem) = NULL; CHK_PTYPE(RTPBCD80U *, a_pd80Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0) 990 #define IEM_MC_MEM_SEG_MAP_I16_WO(a_pi16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pi16Mem); (a_pi16Mem) = NULL; CHK_PTYPE(int16_t *, a_pi16Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0) 991 #define IEM_MC_MEM_SEG_MAP_I32_WO(a_pi32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pi32Mem); (a_pi32Mem) = NULL; CHK_PTYPE(int32_t *, a_pi32Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0) 992 #define IEM_MC_MEM_SEG_MAP_I64_WO(a_pi64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pi64Mem); (a_pi64Mem) = NULL; CHK_PTYPE(int64_t *, a_pi64Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0) 993 #define IEM_MC_MEM_SEG_MAP_R32_WO(a_pr32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pr32Mem); (a_pr32Mem) = NULL; CHK_PTYPE(RTFLOAT32U *, a_pr32Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0) 994 #define IEM_MC_MEM_SEG_MAP_R64_WO(a_pr64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pr64Mem); (a_pr64Mem) = NULL; CHK_PTYPE(RTFLOAT64U *, a_pr64Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0) 995 #define IEM_MC_MEM_SEG_MAP_R80_WO(a_pr80Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pr80Mem); (a_pr80Mem) = NULL; CHK_PTYPE(RTFLOAT80U *, a_pr80Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0) 996 #define IEM_MC_MEM_SEG_MAP_U8_ATOMIC(a_pu8Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pu8Mem); (a_pu8Mem) = NULL; CHK_PTYPE(uint8_t *, a_pu8Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0) 997 #define IEM_MC_MEM_SEG_MAP_U8_RW(a_pu8Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pu8Mem); (a_pu8Mem) = NULL; CHK_PTYPE(uint8_t *, a_pu8Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0) 998 #define IEM_MC_MEM_SEG_MAP_U8_RO(a_pu8Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pu8Mem); (a_pu8Mem) = NULL; CHK_PTYPE(uint8_t const *, a_pu8Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0) 999 #define IEM_MC_MEM_SEG_MAP_U8_WO(a_pu8Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pu8Mem); (a_pu8Mem) = NULL; CHK_PTYPE(uint8_t *, a_pu8Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0) 1000 #define IEM_MC_MEM_SEG_MAP_U16_ATOMIC(a_pu16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pu16Mem); (a_pu16Mem) = NULL; CHK_PTYPE(uint16_t *, a_pu16Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0) 1001 #define IEM_MC_MEM_SEG_MAP_U16_RW(a_pu16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pu16Mem); (a_pu16Mem) = NULL; CHK_PTYPE(uint16_t *, a_pu16Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0) 1002 #define IEM_MC_MEM_SEG_MAP_U16_RO(a_pu16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pu16Mem); (a_pu16Mem) = NULL; CHK_PTYPE(uint16_t const *, a_pu16Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0) 1003 #define IEM_MC_MEM_SEG_MAP_U16_WO(a_pu16Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pu16Mem); (a_pu16Mem) = NULL; CHK_PTYPE(uint16_t *, a_pu16Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0) 1004 #define IEM_MC_MEM_SEG_MAP_U32_ATOMIC(a_pu32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pu32Mem); (a_pu32Mem) = NULL; CHK_PTYPE(uint32_t *, a_pu32Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0) 1005 #define IEM_MC_MEM_SEG_MAP_U32_RW(a_pu32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pu32Mem); (a_pu32Mem) = NULL; CHK_PTYPE(uint32_t *, a_pu32Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0) 1006 #define IEM_MC_MEM_SEG_MAP_U32_RO(a_pu32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pu32Mem); (a_pu32Mem) = NULL; CHK_PTYPE(uint32_t const *, a_pu32Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0) 1007 #define IEM_MC_MEM_SEG_MAP_U32_WO(a_pu32Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pu32Mem); (a_pu32Mem) = NULL; CHK_PTYPE(uint32_t *, a_pu32Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0) 1008 #define IEM_MC_MEM_SEG_MAP_U64_ATOMIC(a_pu64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pu64Mem); (a_pu64Mem) = NULL; CHK_PTYPE(uint64_t *, a_pu64Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0) 1009 #define IEM_MC_MEM_SEG_MAP_U64_RW(a_pu64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pu64Mem); (a_pu64Mem) = NULL; CHK_PTYPE(uint64_t *, a_pu64Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0) 1010 #define IEM_MC_MEM_SEG_MAP_U64_RO(a_pu64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pu64Mem); (a_pu64Mem) = NULL; CHK_PTYPE(uint64_t const *, a_pu64Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0) 1011 #define IEM_MC_MEM_SEG_MAP_U64_WO(a_pu64Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pu64Mem); (a_pu64Mem) = NULL; CHK_PTYPE(uint64_t *, a_pu64Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0) 1012 #define IEM_MC_MEM_SEG_MAP_U128_ATOMIC(a_pu128Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do{ CHK_VAR(a_pu128Mem); (a_pu128Mem) = NULL; CHK_PTYPE(RTUINT128U *, a_pu128Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0) 1013 #define IEM_MC_MEM_SEG_MAP_U128_RW(a_pu128Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pu128Mem); (a_pu128Mem) = NULL; CHK_PTYPE(RTUINT128U *, a_pu128Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0) 1014 #define IEM_MC_MEM_SEG_MAP_U128_RO(a_pu128Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pu128Mem); (a_pu128Mem) = NULL; CHK_PTYPE(RTUINT128U const *, a_pu128Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0) 1015 #define IEM_MC_MEM_SEG_MAP_U128_WO(a_pu128Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pu128Mem); (a_pu128Mem) = NULL; CHK_PTYPE(RTUINT128U *, a_pu128Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0) 1016 1016 1017 1017 #define IEM_MC_MEM_COMMIT_AND_UNMAP_ATOMIC(a_bMapInfo) do { CHK_VAR(a_bMapInfo); CHK_TYPE(uint8_t, a_bMapInfo); (void)fMcBegin; } while (0)
Note:
See TracChangeset
for help on using the changeset viewer.