struct _IOMMU_DMA_DEVICE { struct _EXT_IOMMU_DEVICE_ID* DeviceId;/* 0x0 8 */ struct _DEVICE_OBJECT* DeviceObject;/* 0x8 8 */ long DeviceState;/* 0x10 4 */ /* 4 bytes padding */ struct _IOMMU_DMA_DOMAIN* DomainOwner;/* 0x18 8 */ union { struct { unsigned __int64 LogicalId;/* 0x20 8 */ } Hypervisor;/* 0x20 8 */ struct { struct _REGISTERED_IOMMU* Iommu;/* 0x20 8 */ struct _EXT_IOMMU_DEVICE* ExtDevice;/* 0x28 8 */ unsigned __int64 SourceId;/* 0x30 8 */ unsigned long AtsReferenceCount;/* 0x38 4 */ unsigned long InvalidationQueueDepth;/* 0x3c 4 */ struct _EX_RUNDOWN_REF DeviceActive;/* 0x40 8 */ } Native;/* 0x20 40 */ };/* 0x20 40 */ /* ── cacheline 1 boundary (64 bytes) ── */ struct _IOMMU_INTERFACE_CALLBACK_RECORD* InterfaceCallbackRecord;/* 0x48 8 */ unsigned char DpptException;/* 0x50 1 */ /* 7 bytes padding */ struct _IOMMU_TRACKED_DEVICE* SvmDevice;/* 0x58 8 */ void (*FaultHandler)(void*, struct _FAULT_INFORMATION*);/* 0x60 8 */ void* FaultContext;/* 0x68 8 */ struct _FAULT_INFORMATION FaultInfo;/* 0x70 56 */ /* ── cacheline 2 boundary (128 bytes) ── */ struct _KDPC FaultDpc;/* 0xa8 64 */ /* ── cacheline 3 boundary (192 bytes) ── */ struct _WORK_QUEUE_ITEM FaultWorkItem;/* 0xe8 32 */ /* ── cacheline 4 boundary (256 bytes) ── */ unsigned char PasidFaultsSuppressed;/* 0x108 1 */ unsigned char PasidTaggedDmaEnabled;/* 0x109 1 */ unsigned char DefaultPasidEnabled;/* 0x10a 1 */ /* 5 bytes padding */ struct _IOMMU_BUS_INTERFACE IommuInterface;/* 0x110 80 */ /* ── cacheline 5 boundary (320 bytes) ── */ unsigned long PasidDomainId;/* 0x160 4 */ /* 4 bytes padding */ struct _LIST_ENTRY PasidDevicesList;/* 0x168 16 */ struct _EX_PUSH_LOCK PasidDevicesListLock;/* 0x178 8 */ /* ── cacheline 6 boundary (384 bytes) ── */ union _IOMMU_SVM_CAPABILITIES SvmCapControl;/* 0x180 4 */ enum _IOMMU_DMA_DEVICE_CREATION_STATE CreationStateInitial;/* 0x184 4 */ enum _IOMMU_DMA_DEVICE_CREATION_STATE CreationStateCurrent;/* 0x188 4 */ /* 4 bytes padding */ struct _LIST_ENTRY DomainDmaDeviceEntry;/* 0x190 16 */};size 416 (0x1a0)25 members5 holes (24 bytes)padding 07 cachelines
Used in (3)