struct _EXT_IOMMU_DOMAIN { enum _EXT_IOMMU_DOMAIN_TYPE DomainType;/* 0x0 4 */ enum _EXT_IOMMU_TRANSLATION_TYPE TranslationType;/* 0x4 4 */ struct { unsigned char DefaultDomain : 1;/* 0x8:0 1 */ unsigned char FirmwareDomain : 1;/* 0x8:1 1 */ } Flags;/* 0x8 1 */ /* 1 byte padding */ unsigned short FirmwareDomainId;/* 0xa 2 */ unsigned Vmid;/* 0xc 0 */ /* 4 bytes padding */ struct _EXT_IOMMU_DOMAIN_SETTINGS Settings;/* 0x10 64 */ /* ── cacheline 1 boundary (64 bytes) ── */ unsigned ContextId;/* 0x50 0 */ /* 4 bytes padding */ unsigned DeviceCount;/* 0x54 0 */ /* 4 bytes padding */ struct _LIST_ENTRY Devices;/* 0x58 16 */ struct _EXT_ENV_SPINLOCK Lock;/* 0x68 32 */ /* ── cacheline 2 boundary (128 bytes) ── */ struct _EXT_IOMMU_DOMAIN* S2Domain;/* 0x88 8 */ union { unsigned char FixedCb;/* 0x90 1 */ unsigned __int64 DomainFlags;/* 0x90 8 */ };/* 0x90 8 */ unsigned MemoryAccessWidth;/* 0x98 0 */ /* 4 bytes padding */ union { union _EXT_IOMMU_QC_PREFETCH_SETTINGS PrefetchSettings;/* 0x9c 1 */ union _EXT_IOMMU_QC_SID_IMPL_DEFINED_REGISTERS ImplDefinedRegisters;/* 0x9c 6 */ };/* 0x9c 6 */ /* 6 bytes padding */ void* DomainContext;/* 0xa8 8 */};size 176 (0xb0)17 members6 holes (23 bytes)padding 03 cachelines
Used in (2)