Changeset 105664 in vbox for trunk/src/VBox/VMM/include
- Timestamp:
- Aug 14, 2024 8:47:13 AM (9 months ago)
- svn:sync-xref-src-repo-rev:
- 164358
- Location:
- trunk/src/VBox/VMM/include
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/include/IEMInternal.h
r105616 r105664 6199 6199 VBOXSTRICTRC iemMemFetchDataU16(PVMCPUCC pVCpu, uint16_t *pu16Dst, uint8_t iSegReg, RTGCPTR GCPtrMem) RT_NOEXCEPT; 6200 6200 VBOXSTRICTRC iemMemFetchDataU32(PVMCPUCC pVCpu, uint32_t *pu32Dst, uint8_t iSegReg, RTGCPTR GCPtrMem) RT_NOEXCEPT; 6201 VBOXSTRICTRC iemMemFetchDataU32NoAc(PVMCPUCC pVCpu, uint32_t *pu32Dst, uint8_t iSegReg, RTGCPTR GCPtrMem) RT_NOEXCEPT; 6201 6202 VBOXSTRICTRC iemMemFetchDataU32_ZX_U64(PVMCPUCC pVCpu, uint64_t *pu64Dst, uint8_t iSegReg, RTGCPTR GCPtrMem) RT_NOEXCEPT; 6202 6203 VBOXSTRICTRC iemMemFetchDataU64(PVMCPUCC pVCpu, uint64_t *pu64Dst, uint8_t iSegReg, RTGCPTR GCPtrMem) RT_NOEXCEPT; 6204 VBOXSTRICTRC iemMemFetchDataU64NoAc(PVMCPUCC pVCpu, uint64_t *pu64Dst, uint8_t iSegReg, RTGCPTR GCPtrMem) RT_NOEXCEPT; 6203 6205 VBOXSTRICTRC iemMemFetchDataU64AlignedU128(PVMCPUCC pVCpu, uint64_t *pu64Dst, uint8_t iSegReg, RTGCPTR GCPtrMem) RT_NOEXCEPT; 6204 6206 VBOXSTRICTRC iemMemFetchDataR80(PVMCPUCC pVCpu, PRTFLOAT80U pr80Dst, uint8_t iSegReg, RTGCPTR GCPtrMem) RT_NOEXCEPT; … … 6509 6511 IEM_CIMPL_PROTO_4(iemCImpl_vpmaskmovq_store_u128, uint8_t, iEffSeg, RTGCPTR, GCPtrEffDst, uint8_t, iXRegMsk, uint8_t, iXRegSrc); 6510 6512 IEM_CIMPL_PROTO_4(iemCImpl_vpmaskmovq_store_u256, uint8_t, iEffSeg, RTGCPTR, GCPtrEffDst, uint8_t, iYRegMsk, uint8_t, iYRegSrc); 6513 IEM_CIMPL_PROTO_2(iemCImpl_vpgather_worker_xx, uint32_t, u32PackedArgs, uint32_t, u32Disp); 6511 6514 6512 6515 /** @} */ … … 6822 6825 DECLHIDDEN(struct IEMNATIVEPERCHUNKCTX const *) iemNativeRecompileAttachExecMemChunkCtx(PVMCPU pVCpu, uint32_t idxChunk); 6823 6826 6827 /** Packed 32-bit argument for iemCImpl_vpgather_worker_xx. */ 6828 typedef union IEMGATHERARGS 6829 { 6830 /** Integer view. */ 6831 uint32_t u; 6832 /** Bitfield view. */ 6833 struct 6834 { 6835 uint32_t iYRegDst : 4; /**< 0 - XMM or YMM register number (destination) */ 6836 uint32_t iYRegIdc : 4; /**< 4 - XMM or YMM register number (indices) */ 6837 uint32_t iYRegMsk : 4; /**< 8 - XMM or YMM register number (mask) */ 6838 uint32_t iGRegBase : 4; /**< 12 - general register number (base ptr) */ 6839 uint32_t iScale : 2; /**< 16 - scale factor (1/2/4/8) */ 6840 uint32_t enmEffOpSize : 2; /**< 18 - operand size (16/32/64/--) */ 6841 uint32_t enmEffAddrMode : 2; /**< 20 - addressing mode (16/32/64/--) */ 6842 uint32_t iEffSeg : 3; /**< 22 - effective segment (ES/CS/SS/DS/FS/GS) */ 6843 uint32_t fVex256 : 1; /**< 25 - overall instruction width (128/256 bits) */ 6844 uint32_t fIdxQword : 1; /**< 26 - individual index width (4/8 bytes) */ 6845 uint32_t fValQword : 1; /**< 27 - individual value width (4/8 bytes) */ 6846 } s; 6847 } IEMGATHERARGS; 6848 AssertCompileSize(IEMGATHERARGS, sizeof(uint32_t)); 6849 6824 6850 #endif /* !RT_IN_ASSEMBLER - ASM-NOINC-END */ 6825 6851 -
trunk/src/VBox/VMM/include/IEMMc.h
r105652 r105664 2839 2839 /** 2840 2840 * Defers the rest of the instruction emulation to a C implementation routine 2841 * and returns, taking twoarguments in addition to the standard ones.2841 * and returns, taking five arguments in addition to the standard ones. 2842 2842 * 2843 2843 * @param a_fFlags IEM_CIMPL_F_XXX.
Note:
See TracChangeset
for help on using the changeset viewer.