Changeset 100820 in vbox for trunk/src/VBox/VMM/include
- Timestamp:
- Aug 8, 2023 2:58:44 AM (18 months ago)
- Location:
- trunk/src/VBox/VMM/include
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/include/IEMInline.h
r100810 r100820 3356 3356 else 3357 3357 { 3358 Assert(GCPtrMem <= UINT32_MAX); 3358 3359 IEM_CTX_IMPORT_JMP(pVCpu, CPUMCTX_EXTRN_SREG_FROM_IDX(iSegReg)); 3359 3360 PCPUMSELREGHID pSel = iemSRegGetHid(pVCpu, iSegReg); 3360 3361 uint32_t const fRelevantAttrs = pSel->Attr.u & ( X86DESCATTR_P | X86DESCATTR_UNUSABLE 3361 3362 | X86_SEL_TYPE_CODE | X86_SEL_TYPE_WRITE | X86_SEL_TYPE_DOWN); 3362 if (fRelevantAttrs == (X86DESCATTR_P | X86_SEL_TYPE_WRITE)) /* data, expand up */ 3363 if ( fRelevantAttrs == (X86DESCATTR_P | X86_SEL_TYPE_WRITE) /* data, expand up */ 3364 /** @todo explore exactly how the CS stuff works in real mode. See also 3365 * http://www.rcollins.org/Productivity/DescriptorCache.html and 3366 * http://www.rcollins.org/ddj/Aug98/Aug98.html for some insight. */ 3367 || (iSegReg == X86_SREG_CS && IEM_IS_REAL_OR_V86_MODE(pVCpu)) ) /* Ignored for CS. */ /** @todo testcase! */ 3363 3368 { 3364 3369 /* expand up */ 3365 uint32_t GCPtrLast32 = (uint32_t)GCPtrMem + (uint32_t)cbMem;3366 if (RT_LIKELY( GCPtrLast32 >pSel->u32Limit3367 && GCPtrLast32 > (uint32_t)GCPtrMem))3370 uint32_t const GCPtrLast32 = (uint32_t)GCPtrMem + (uint32_t)cbMem - 1; 3371 if (RT_LIKELY( GCPtrLast32 <= pSel->u32Limit 3372 && GCPtrLast32 >= (uint32_t)GCPtrMem)) 3368 3373 return (uint32_t)GCPtrMem + (uint32_t)pSel->u64Base; 3374 iemRaiseSelectorBoundsJmp(pVCpu, iSegReg, IEM_ACCESS_DATA_W); 3369 3375 } 3370 3376 else if (fRelevantAttrs == (X86DESCATTR_P | X86_SEL_TYPE_WRITE | X86_SEL_TYPE_DOWN)) /* data, expand up */ 3371 3377 { 3372 /* expand down */3373 uint32_t GCPtrLast32 = (uint32_t)GCPtrMem + (uint32_t)cbMem ;3374 if (RT_LIKELY( (uint32_t)GCPtrMem > 3375 && GCPtrLast32 <= (pSel->Attr.n.u1DefBig ? UINT32_MAX :UINT32_C(0xffff))3376 && GCPtrLast32 > (uint32_t)GCPtrMem))3378 /* expand down - the uppger boundary is defined by the B bit, not G. */ 3379 uint32_t GCPtrLast32 = (uint32_t)GCPtrMem + (uint32_t)cbMem - 1; 3380 if (RT_LIKELY( (uint32_t)GCPtrMem >= pSel->u32Limit 3381 && (pSel->Attr.n.u1DefBig || GCPtrLast32 <= UINT32_C(0xffff)) 3382 && GCPtrLast32 >= (uint32_t)GCPtrMem)) 3377 3383 return (uint32_t)GCPtrMem + (uint32_t)pSel->u64Base; 3384 iemRaiseSelectorBoundsJmp(pVCpu, iSegReg, IEM_ACCESS_DATA_W); 3378 3385 } 3379 3386 else 3380 3387 iemRaiseSelectorInvalidAccessJmp(pVCpu, iSegReg, IEM_ACCESS_DATA_W); 3381 iemRaiseSelectorBoundsJmp(pVCpu, iSegReg, IEM_ACCESS_DATA_W);3382 3388 } 3383 3389 iemRaiseGeneralProtectionFault0Jmp(pVCpu); … … 3403 3409 } 3404 3410 3411 /* 3412 * Instantiate R/W inline templates. 3413 */ 3414 #define TMPL_MEM_TYPE uint8_t 3415 #define TMPL_MEM_FN_SUFF U8 3416 #define TMPL_MEM_FMT_TYPE "%#04x" 3417 #define TMPL_MEM_FMT_DESC "byte" 3418 #include "../VMMAll/IEMAllMemRWTmplInline.cpp.h" 3419 3420 #define TMPL_MEM_TYPE uint16_t 3421 #define TMPL_MEM_FN_SUFF U16 3422 #define TMPL_MEM_FMT_TYPE "%#06x" 3423 #define TMPL_MEM_FMT_DESC "word" 3424 #include "../VMMAll/IEMAllMemRWTmplInline.cpp.h" 3425 3426 #define TMPL_MEM_TYPE uint32_t 3427 #define TMPL_MEM_FN_SUFF U32 3428 #define TMPL_MEM_FMT_TYPE "%#010x" 3429 #define TMPL_MEM_FMT_DESC "dword" 3430 #include "../VMMAll/IEMAllMemRWTmplInline.cpp.h" 3431 3432 #define TMPL_MEM_TYPE uint64_t 3433 #define TMPL_MEM_FN_SUFF U64 3434 #define TMPL_MEM_FMT_TYPE "%#018RX64" 3435 #define TMPL_MEM_FMT_DESC "qword" 3436 #include "../VMMAll/IEMAllMemRWTmplInline.cpp.h" 3437 3438 #define TMPL_MEM_NO_STORE 3439 #define TMPL_MEM_TYPE uint64_t 3440 #define TMPL_MEM_TYPE_ALIGN (sizeof(uint64_t) * 2 - 1) 3441 #define TMPL_MEM_FN_SUFF U64AlignedU128 3442 #define TMPL_MEM_FMT_TYPE "%#018RX64" 3443 #define TMPL_MEM_FMT_DESC "qword" 3444 #include "../VMMAll/IEMAllMemRWTmplInline.cpp.h" 3445 #undef TMPL_MEM_NO_STORE 3446 3405 3447 /** @} */ 3406 3448 -
trunk/src/VBox/VMM/include/IEMInternal.h
r100811 r100820 4585 4585 RTGCPTR GCPtrMem, IEMMODE enmOpSize) RT_NOEXCEPT; 4586 4586 #ifdef IEM_WITH_SETJMP 4587 uint8_t iemMemFetchDataU8SafeJmp(PVMCPUCC pVCpu, uint8_t iSegReg, RTGCPTR GCPtrMem) IEM_NOEXCEPT_MAY_LONGJMP; 4588 uint16_t iemMemFetchDataU16SafeJmp(PVMCPUCC pVCpu, uint8_t iSegReg, RTGCPTR GCPtrMem) IEM_NOEXCEPT_MAY_LONGJMP; 4589 uint32_t iemMemFetchDataU32SafeJmp(PVMCPUCC pVCpu, uint8_t iSegReg, RTGCPTR GCPtrMem) IEM_NOEXCEPT_MAY_LONGJMP; 4590 uint32_t iemMemFlatFetchDataU32SafeJmp(PVMCPUCC pVCpu, RTGCPTR GCPtrMem) IEM_NOEXCEPT_MAY_LONGJMP; 4591 uint64_t iemMemFetchDataU64SafeJmp(PVMCPUCC pVCpu, uint8_t iSegReg, RTGCPTR GCPtrMem) IEM_NOEXCEPT_MAY_LONGJMP; 4592 uint64_t iemMemFetchDataU64AlignedU128SafeJmp(PVMCPUCC pVCpu, uint8_t iSegReg, RTGCPTR GCPtrMem) IEM_NOEXCEPT_MAY_LONGJMP; 4593 void iemMemFetchDataR80SafeJmp(PVMCPUCC pVCpu, PRTFLOAT80U pr80Dst, uint8_t iSegReg, RTGCPTR GCPtrMem) IEM_NOEXCEPT_MAY_LONGJMP; 4594 void iemMemFetchDataD80SafeJmp(PVMCPUCC pVCpu, PRTPBCD80U pd80Dst, uint8_t iSegReg, RTGCPTR GCPtrMem) IEM_NOEXCEPT_MAY_LONGJMP; 4595 void iemMemFetchDataU128SafeJmp(PVMCPUCC pVCpu, PRTUINT128U pu128Dst, uint8_t iSegReg, RTGCPTR GCPtrMem) IEM_NOEXCEPT_MAY_LONGJMP; 4596 void iemMemFetchDataU128AlignedSseSafeJmp(PVMCPUCC pVCpu, PRTUINT128U pu128Dst, uint8_t iSegReg, RTGCPTR GCPtrMem) IEM_NOEXCEPT_MAY_LONGJMP; 4597 void iemMemFetchDataU256SafeJmp(PVMCPUCC pVCpu, PRTUINT256U pu256Dst, uint8_t iSegReg, RTGCPTR GCPtrMem) IEM_NOEXCEPT_MAY_LONGJMP; 4598 void iemMemFetchDataU256AlignedSseSafeJmp(PVMCPUCC pVCpu, PRTUINT256U pu256Dst, uint8_t iSegReg, RTGCPTR GCPtrMem) IEM_NOEXCEPT_MAY_LONGJMP; 4599 # if 0 /* these are inlined now */ 4587 4600 uint8_t iemMemFetchDataU8Jmp(PVMCPUCC pVCpu, uint8_t iSegReg, RTGCPTR GCPtrMem) IEM_NOEXCEPT_MAY_LONGJMP; 4588 4601 uint16_t iemMemFetchDataU16Jmp(PVMCPUCC pVCpu, uint8_t iSegReg, RTGCPTR GCPtrMem) IEM_NOEXCEPT_MAY_LONGJMP; … … 4591 4604 uint64_t iemMemFetchDataU64Jmp(PVMCPUCC pVCpu, uint8_t iSegReg, RTGCPTR GCPtrMem) IEM_NOEXCEPT_MAY_LONGJMP; 4592 4605 uint64_t iemMemFetchDataU64AlignedU128Jmp(PVMCPUCC pVCpu, uint8_t iSegReg, RTGCPTR GCPtrMem) IEM_NOEXCEPT_MAY_LONGJMP; 4606 # endif 4593 4607 void iemMemFetchDataR80Jmp(PVMCPUCC pVCpu, PRTFLOAT80U pr80Dst, uint8_t iSegReg, RTGCPTR GCPtrMem) IEM_NOEXCEPT_MAY_LONGJMP; 4594 4608 void iemMemFetchDataD80Jmp(PVMCPUCC pVCpu, PRTPBCD80U pd80Dst, uint8_t iSegReg, RTGCPTR GCPtrMem) IEM_NOEXCEPT_MAY_LONGJMP; … … 4615 4629 VBOXSTRICTRC iemMemStoreDataXdtr(PVMCPUCC pVCpu, uint16_t cbLimit, RTGCPTR GCPtrBase, uint8_t iSegReg, RTGCPTR GCPtrMem) RT_NOEXCEPT; 4616 4630 #ifdef IEM_WITH_SETJMP 4631 void iemMemStoreDataU8SafeJmp(PVMCPUCC pVCpu, uint8_t iSegReg, RTGCPTR GCPtrMem, uint8_t u8Value) IEM_NOEXCEPT_MAY_LONGJMP; 4632 void iemMemStoreDataU16SafeJmp(PVMCPUCC pVCpu, uint8_t iSegReg, RTGCPTR GCPtrMem, uint16_t u16Value) IEM_NOEXCEPT_MAY_LONGJMP; 4633 void iemMemStoreDataU32SafeJmp(PVMCPUCC pVCpu, uint8_t iSegReg, RTGCPTR GCPtrMem, uint32_t u32Value) IEM_NOEXCEPT_MAY_LONGJMP; 4634 void iemMemStoreDataU64SafeJmp(PVMCPUCC pVCpu, uint8_t iSegReg, RTGCPTR GCPtrMem, uint64_t u64Value) IEM_NOEXCEPT_MAY_LONGJMP; 4635 void iemMemStoreDataU128SafeJmp(PVMCPUCC pVCpu, uint8_t iSegReg, RTGCPTR GCPtrMem, RTUINT128U u128Value) IEM_NOEXCEPT_MAY_LONGJMP; 4636 void iemMemStoreDataU128AlignedSseSafeJmp(PVMCPUCC pVCpu, uint8_t iSegReg, RTGCPTR GCPtrMem, RTUINT128U u128Value) IEM_NOEXCEPT_MAY_LONGJMP; 4637 void iemMemStoreDataU256SafeJmp(PVMCPUCC pVCpu, uint8_t iSegReg, RTGCPTR GCPtrMem, PCRTUINT256U pu256Value) IEM_NOEXCEPT_MAY_LONGJMP; 4638 void iemMemStoreDataU256AlignedAvxSafeJmp(PVMCPUCC pVCpu, uint8_t iSegReg, RTGCPTR GCPtrMem, PCRTUINT256U pu256Value) IEM_NOEXCEPT_MAY_LONGJMP; 4639 #if 0 4617 4640 void iemMemStoreDataU8Jmp(PVMCPUCC pVCpu, uint8_t iSegReg, RTGCPTR GCPtrMem, uint8_t u8Value) IEM_NOEXCEPT_MAY_LONGJMP; 4618 4641 void iemMemStoreDataU16Jmp(PVMCPUCC pVCpu, uint8_t iSegReg, RTGCPTR GCPtrMem, uint16_t u16Value) IEM_NOEXCEPT_MAY_LONGJMP; 4619 4642 void iemMemStoreDataU32Jmp(PVMCPUCC pVCpu, uint8_t iSegReg, RTGCPTR GCPtrMem, uint32_t u32Value) IEM_NOEXCEPT_MAY_LONGJMP; 4620 4643 void iemMemStoreDataU64Jmp(PVMCPUCC pVCpu, uint8_t iSegReg, RTGCPTR GCPtrMem, uint64_t u64Value) IEM_NOEXCEPT_MAY_LONGJMP; 4644 #endif 4621 4645 void iemMemStoreDataU128Jmp(PVMCPUCC pVCpu, uint8_t iSegReg, RTGCPTR GCPtrMem, RTUINT128U u128Value) IEM_NOEXCEPT_MAY_LONGJMP; 4622 4646 void iemMemStoreDataU128AlignedSseJmp(PVMCPUCC pVCpu, uint8_t iSegReg, RTGCPTR GCPtrMem, RTUINT128U u128Value) IEM_NOEXCEPT_MAY_LONGJMP; -
trunk/src/VBox/VMM/include/IEMMc.h
r100811 r100820 816 816 817 817 # define IEM_MC_FETCH_MEM_FLAT_U8(a_u8Dst, a_GCPtrMem) \ 818 ((a_u8Dst) = iemMemF etchDataU8Jmp(pVCpu, UINT8_MAX, (a_GCPtrMem)))818 ((a_u8Dst) = iemMemFlatFetchDataU8Jmp(pVCpu, (a_GCPtrMem))) 819 819 # define IEM_MC_FETCH_MEM16_FLAT_U8(a_u8Dst, a_GCPtrMem16) \ 820 ((a_u8Dst) = iemMemF etchDataU8Jmp(pVCpu, UINT8_MAX, (a_GCPtrMem16)))820 ((a_u8Dst) = iemMemFlatFetchDataU8Jmp(pVCpu, (a_GCPtrMem16))) 821 821 # define IEM_MC_FETCH_MEM32_FLAT_U8(a_u8Dst, a_GCPtrMem32) \ 822 ((a_u8Dst) = iemMemF etchDataU8Jmp(pVCpu, UINT8_MAX, (a_GCPtrMem32)))822 ((a_u8Dst) = iemMemFlatFetchDataU8Jmp(pVCpu, (a_GCPtrMem32))) 823 823 #endif 824 824 … … 839 839 840 840 # define IEM_MC_FETCH_MEM_FLAT_U16(a_u16Dst, a_GCPtrMem) \ 841 ((a_u16Dst) = iemMemF etchDataU16Jmp(pVCpu, UINT8_MAX, (a_GCPtrMem)))841 ((a_u16Dst) = iemMemFlatFetchDataU16Jmp(pVCpu, (a_GCPtrMem))) 842 842 # define IEM_MC_FETCH_MEM_FLAT_U16_DISP(a_u16Dst, a_GCPtrMem, a_offDisp) \ 843 ((a_u16Dst) = iemMemF etchDataU16Jmp(pVCpu, UINT8_MAX, (a_GCPtrMem) + (a_offDisp)))843 ((a_u16Dst) = iemMemFlatFetchDataU16Jmp(pVCpu, (a_GCPtrMem) + (a_offDisp))) 844 844 # define IEM_MC_FETCH_MEM_FLAT_I16(a_i16Dst, a_GCPtrMem) \ 845 ((a_i16Dst) = (int16_t)iemMemF etchDataU16Jmp(pVCpu, UINT8_MAX, (a_GCPtrMem)))845 ((a_i16Dst) = (int16_t)iemMemFlatFetchDataU16Jmp(pVCpu, (a_GCPtrMem))) 846 846 #endif 847 847 … … 894 894 895 895 # define IEM_MC_FETCH_MEM_FLAT_U64(a_u64Dst, a_GCPtrMem) \ 896 ((a_u64Dst) = iemMemF etchDataU64Jmp(pVCpu, UINT8_MAX, (a_GCPtrMem)))896 ((a_u64Dst) = iemMemFlatFetchDataU64Jmp(pVCpu, (a_GCPtrMem))) 897 897 # define IEM_MC_FETCH_MEM_FLAT_U64_DISP(a_u64Dst, a_GCPtrMem, a_offDisp) \ 898 ((a_u64Dst) = iemMemF etchDataU64Jmp(pVCpu, UINT8_MAX, (a_GCPtrMem) + (a_offDisp)))898 ((a_u64Dst) = iemMemFlatFetchDataU64Jmp(pVCpu, (a_GCPtrMem) + (a_offDisp))) 899 899 # define IEM_MC_FETCH_MEM_FLAT_U64_ALIGN_U128(a_u64Dst, a_GCPtrMem) \ 900 ((a_u64Dst) = iemMemF etchDataU64AlignedU128Jmp(pVCpu, UINT8_MAX, (a_GCPtrMem)))900 ((a_u64Dst) = iemMemFlatFetchDataU64AlignedU128Jmp(pVCpu, (a_GCPtrMem))) 901 901 # define IEM_MC_FETCH_MEM_FLAT_I64(a_i64Dst, a_GCPtrMem) \ 902 ((a_i64Dst) = (int64_t)iemMemF etchDataU64Jmp(pVCpu, UINT8_MAX, (a_GCPtrMem)))902 ((a_i64Dst) = (int64_t)iemMemFlatFetchDataU64Jmp(pVCpu, (a_GCPtrMem))) 903 903 #endif 904 904 … … 925 925 ((a_r32Dst).u = iemMemFlatFetchDataU32Jmp(pVCpu, (a_GCPtrMem))) 926 926 # define IEM_MC_FETCH_MEM_FLAT_R64(a_r64Dst, a_GCPtrMem) \ 927 ((a_r64Dst).u = iemMemF etchDataU64Jmp(pVCpu, UINT8_MAX, (a_GCPtrMem)))927 ((a_r64Dst).u = iemMemFlatFetchDataU64Jmp(pVCpu, (a_GCPtrMem))) 928 928 # define IEM_MC_FETCH_MEM_FLAT_R80(a_r80Dst, a_GCPtrMem) \ 929 929 iemMemFetchDataR80Jmp(pVCpu, &(a_r80Dst), UINT8_MAX, (a_GCPtrMem)) … … 1086 1086 1087 1087 # define IEM_MC_FETCH_MEM_FLAT_U8_ZX_U16(a_u16Dst, a_GCPtrMem) \ 1088 ((a_u16Dst) = iemMemF etchDataU8Jmp(pVCpu, UINT8_MAX, (a_GCPtrMem)))1088 ((a_u16Dst) = iemMemFlatFetchDataU8Jmp(pVCpu, (a_GCPtrMem))) 1089 1089 # define IEM_MC_FETCH_MEM_FLAT_U8_ZX_U32(a_u32Dst, a_GCPtrMem) \ 1090 ((a_u32Dst) = iemMemF etchDataU8Jmp(pVCpu, UINT8_MAX, (a_GCPtrMem)))1090 ((a_u32Dst) = iemMemFlatFetchDataU8Jmp(pVCpu, (a_GCPtrMem))) 1091 1091 # define IEM_MC_FETCH_MEM_FLAT_U8_ZX_U64(a_u64Dst, a_GCPtrMem) \ 1092 ((a_u64Dst) = iemMemF etchDataU8Jmp(pVCpu, UINT8_MAX, (a_GCPtrMem)))1092 ((a_u64Dst) = iemMemFlatFetchDataU8Jmp(pVCpu, (a_GCPtrMem))) 1093 1093 # define IEM_MC_FETCH_MEM_FLAT_U16_ZX_U32(a_u32Dst, a_GCPtrMem) \ 1094 ((a_u32Dst) = iemMemF etchDataU16Jmp(pVCpu, UINT8_MAX, (a_GCPtrMem)))1094 ((a_u32Dst) = iemMemFlatFetchDataU16Jmp(pVCpu, (a_GCPtrMem))) 1095 1095 # define IEM_MC_FETCH_MEM_FLAT_U16_ZX_U64(a_u64Dst, a_GCPtrMem) \ 1096 ((a_u64Dst) = iemMemF etchDataU16Jmp(pVCpu, UINT8_MAX, (a_GCPtrMem)))1096 ((a_u64Dst) = iemMemFlatFetchDataU16Jmp(pVCpu, (a_GCPtrMem))) 1097 1097 # define IEM_MC_FETCH_MEM_FLAT_U32_ZX_U64(a_u64Dst, a_GCPtrMem) \ 1098 1098 ((a_u64Dst) = iemMemFlatFetchDataU32Jmp(pVCpu, (a_GCPtrMem))) … … 1151 1151 1152 1152 # define IEM_MC_FETCH_MEM_FLAT_U8_SX_U16(a_u16Dst, a_GCPtrMem) \ 1153 ((a_u16Dst) = (int8_t)iemMemF etchDataU8Jmp(pVCpu, UINT8_MAX, (a_GCPtrMem)))1153 ((a_u16Dst) = (int8_t)iemMemFlatFetchDataU8Jmp(pVCpu, (a_GCPtrMem))) 1154 1154 # define IEM_MC_FETCH_MEM_FLAT_U8_SX_U32(a_u32Dst, a_GCPtrMem) \ 1155 ((a_u32Dst) = (int8_t)iemMemF etchDataU8Jmp(pVCpu, UINT8_MAX, (a_GCPtrMem)))1155 ((a_u32Dst) = (int8_t)iemMemFlatFetchDataU8Jmp(pVCpu, (a_GCPtrMem))) 1156 1156 # define IEM_MC_FETCH_MEM_FLAT_U8_SX_U64(a_u64Dst, a_GCPtrMem) \ 1157 ((a_u64Dst) = (int8_t)iemMemF etchDataU8Jmp(pVCpu, UINT8_MAX, (a_GCPtrMem)))1157 ((a_u64Dst) = (int8_t)iemMemFlatFetchDataU8Jmp(pVCpu, (a_GCPtrMem))) 1158 1158 # define IEM_MC_FETCH_MEM_FLAT_U16_SX_U32(a_u32Dst, a_GCPtrMem) \ 1159 ((a_u32Dst) = (int16_t)iemMemF etchDataU16Jmp(pVCpu, UINT8_MAX, (a_GCPtrMem)))1159 ((a_u32Dst) = (int16_t)iemMemFlatFetchDataU16Jmp(pVCpu, (a_GCPtrMem))) 1160 1160 # define IEM_MC_FETCH_MEM_FLAT_U16_SX_U64(a_u64Dst, a_GCPtrMem) \ 1161 ((a_u64Dst) = (int16_t)iemMemF etchDataU16Jmp(pVCpu, UINT8_MAX, (a_GCPtrMem)))1161 ((a_u64Dst) = (int16_t)iemMemFlatFetchDataU16Jmp(pVCpu, (a_GCPtrMem))) 1162 1162 # define IEM_MC_FETCH_MEM_FLAT_U32_SX_U64(a_u64Dst, a_GCPtrMem) \ 1163 1163 ((a_u64Dst) = (int32_t)iemMemFlatFetchDataU32Jmp(pVCpu, (a_GCPtrMem))) … … 1184 1184 1185 1185 # define IEM_MC_STORE_MEM_FLAT_U8(a_GCPtrMem, a_u8Value) \ 1186 iemMem StoreDataU8Jmp(pVCpu, UINT8_MAX, (a_GCPtrMem), (a_u8Value))1186 iemMemFlatStoreDataU8Jmp(pVCpu, (a_GCPtrMem), (a_u8Value)) 1187 1187 # define IEM_MC_STORE_MEM_FLAT_U16(a_GCPtrMem, a_u16Value) \ 1188 iemMem StoreDataU16Jmp(pVCpu, UINT8_MAX, (a_GCPtrMem), (a_u16Value))1188 iemMemFlatStoreDataU16Jmp(pVCpu, (a_GCPtrMem), (a_u16Value)) 1189 1189 # define IEM_MC_STORE_MEM_FLAT_U32(a_GCPtrMem, a_u32Value) \ 1190 iemMem StoreDataU32Jmp(pVCpu, UINT8_MAX, (a_GCPtrMem), (a_u32Value))1190 iemMemFlatStoreDataU32Jmp(pVCpu, (a_GCPtrMem), (a_u32Value)) 1191 1191 # define IEM_MC_STORE_MEM_FLAT_U64(a_GCPtrMem, a_u64Value) \ 1192 iemMem StoreDataU64Jmp(pVCpu, UINT8_MAX, (a_GCPtrMem), (a_u64Value))1192 iemMemFlatStoreDataU64Jmp(pVCpu, (a_GCPtrMem), (a_u64Value)) 1193 1193 #endif 1194 1194 … … 1213 1213 1214 1214 # define IEM_MC_STORE_MEM_FLAT_U8_CONST(a_GCPtrMem, a_u8C) \ 1215 iemMem StoreDataU8Jmp(pVCpu, UINT8_MAX, (a_GCPtrMem), (a_u8C))1215 iemMemFlatStoreDataU8Jmp(pVCpu, (a_GCPtrMem), (a_u8C)) 1216 1216 # define IEM_MC_STORE_MEM_FLAT_U16_CONST(a_GCPtrMem, a_u16C) \ 1217 iemMem StoreDataU16Jmp(pVCpu, UINT8_MAX, (a_GCPtrMem), (a_u16C))1217 iemMemFlatStoreDataU16Jmp(pVCpu, (a_GCPtrMem), (a_u16C)) 1218 1218 # define IEM_MC_STORE_MEM_FLAT_U32_CONST(a_GCPtrMem, a_u32C) \ 1219 iemMem StoreDataU32Jmp(pVCpu, UINT8_MAX, (a_GCPtrMem), (a_u32C))1219 iemMemFlatStoreDataU32Jmp(pVCpu, (a_GCPtrMem), (a_u32C)) 1220 1220 # define IEM_MC_STORE_MEM_FLAT_U64_CONST(a_GCPtrMem, a_u64C) \ 1221 iemMem StoreDataU64Jmp(pVCpu, UINT8_MAX, (a_GCPtrMem), (a_u64C))1221 iemMemFlatStoreDataU64Jmp(pVCpu, (a_GCPtrMem), (a_u64C)) 1222 1222 #endif 1223 1223
Note:
See TracChangeset
for help on using the changeset viewer.