struct _EXT_IOMMU_FUNCTION_TABLE { long (*ConfigureSettings)(struct _EXT_IOMMU*, struct _EXT_IOMMU_SETTINGS*);/* 0x0 8 */ long (*Initialize)(struct _EXT_IOMMU*, unsigned long, unsigned char, unsigned char);/* 0x8 8 */ long (*AllocateDomain)(struct _EXT_IOMMU*, struct _EXT_IOMMU_DOMAIN*, struct _EXT_IOMMU_DOMAIN*, void*);/* 0x10 8 */ void (*FreeDomain)(struct _EXT_IOMMU*, struct _EXT_IOMMU_DOMAIN*, void*);/* 0x18 8 */ long (*CreateDevice)(struct _EXT_IOMMU*, struct _EXT_IOMMU_DEVICE_ID*, union _EXT_IOMMU_CREATE_DEVICE_FLAGS, void*, struct _EXT_IOMMU_DEVICE**, void*);/* 0x20 8 */ void (*DeleteDevice)(struct _EXT_IOMMU*, struct _EXT_IOMMU_DEVICE*, void*);/* 0x28 8 */ unsigned char (*OwnDevice)(struct _EXT_IOMMU*, struct _EXT_IOMMU_DEVICE_ID*);/* 0x30 8 */ void (*ConfigureDeviceFaultReporting)(struct _EXT_IOMMU*, struct _EXT_IOMMU_DEVICE*, unsigned char);/* 0x38 8 */ /* ── cacheline 1 boundary (64 bytes) ── */ long (*AttachDeviceDomain)(struct _EXT_IOMMU*, struct _EXT_IOMMU_DEVICE*, struct _EXT_IOMMU_DOMAIN*, void*);/* 0x40 8 */ void (*DetachDeviceDomain)(struct _EXT_IOMMU*, struct _EXT_IOMMU_DEVICE*, void*);/* 0x48 8 */ void (*FlushDomainTb)(struct _EXT_IOMMU*, struct _EXT_IOMMU_DOMAIN*, struct _EXT_IOMMU_FLUSH_CONTEXT*, unsigned, struct _KTB_FLUSH_VA*);/* 0x50 8 */ void (*SyncFlush)(struct _EXT_IOMMU*, struct _EXT_IOMMU_FLUSH_CONTEXT*);/* 0x58 8 */ void (*CompleteFlush)(struct _EXT_IOMMU*, struct _EXT_IOMMU_FLUSH_CONTEXT*);/* 0x60 8 */ long (*AllocateRemappingTableEntry)(void*, unsigned long, unsigned long, unsigned long, unsigned short, unsigned char, unsigned char, unsigned long, struct _EXT_IOMMU_DEVICE_ID*);/* 0x68 8 */ long (*FreeRemappingTableEntry)(void*, unsigned long, unsigned long);/* 0x70 8 */ unsigned char (*UpdateRemappingTableEntry)(void*, unsigned char, unsigned long, struct _INTERRUPT_LINE_STATE*);/* 0x78 8 */ /* ── cacheline 2 boundary (128 bytes) ── */ void (*InvalidateRemappingTableEntry)(void*, unsigned long);/* 0x80 8 */ void (*UpdateRemappingDestination)(void*, unsigned char, unsigned long*, unsigned long*, unsigned long);/* 0x88 8 */ void (*CaptureGlobalCrashdumpState)(void*);/* 0x90 8 */};size 152 (0x98)19 members0 holespadding 03 cachelines
Used in (2)