x64arm64 / ntdllntoskrnl

_EXT_IOMMU_FUNCTION_TABLE_EXTENDED

← first 1 build latest →
struct _EXT_IOMMU_FUNCTION_TABLE_EXTENDED {
unsigned char (*FindDevice)(void*, struct _EXT_IOMMU_DEVICE_ID*, unsigned char, struct _EXT_IOMMU_OUTPUT_MAPPING*);/* 0x0 8 */
long (*SetDeviceSvmCapabilities)(void*, unsigned __int64, unsigned char);/* 0x8 8 */
void (*SetDevicePasidTable)(void*, struct _EXT_IOMMU_DEVICE*, unsigned char, unsigned char);/* 0x10 8 */
long (*GrowPasidTable)(void*, struct _EXT_IOMMU_DEVICE*, unsigned long, unsigned long, enum _IOMMU_PASID_SETTING, enum _IOMMU_ATS_SETTING);/* 0x18 8 */
long (*SetPasidAddressSpace)(void*, struct _EXT_IOMMU_DEVICE*, unsigned long, unsigned __int64, unsigned char*);/* 0x20 8 */
void (*FlushTb)(void*, unsigned long, unsigned __int64, void*, struct _LIST_ENTRY*, unsigned long, struct _KTB_FLUSH_VA*);/* 0x28 8 */
void (*FlushDeviceTbOnly)(void*, unsigned __int64, unsigned long);/* 0x30 8 */
void (*DismissPageFault)(void*, unsigned long, unsigned __int64, unsigned short, long);/* 0x38 8 */
/* ── cacheline 1 boundary (64 bytes) ── */
unsigned long (*GetPageFault)(void*, unsigned long*, unsigned __int64*, unsigned short*, void**, unsigned __int64*);/* 0x40 8 */
long (*SetMessageInterruptRouting)(void*, unsigned char, union _LARGE_INTEGER, unsigned long);/* 0x48 8 */
void (*EnableInterrupt)(void*);/* 0x50 8 */
void (*DisableInterrupt)(void*);/* 0x58 8 */
unsigned char (*HandleInterrupt)(void*);/* 0x60 8 */
unsigned char (*CheckForReservedRegion)(struct _EXT_IOMMU_DEVICE_ID*);/* 0x68 8 */
void (*MarkHiberRegions)(void*, void*);/* 0x70 8 */
void (*DrainSvmPageRequests)(void*, unsigned __int64, unsigned long);/* 0x78 8 */
/* ── cacheline 2 boundary (128 bytes) ── */
void (*CancelPageRequests)(void*, unsigned __int64, unsigned long);/* 0x80 8 */
long (*EnumerateReservedDevices)(void*, unsigned long*, struct _IOMMU_RESERVED_DEVICE**);/* 0x88 8 */
long (*ProcessReservedDomains)(void*, unsigned long, struct _IOMMU_RESERVED_DEVICE**);/* 0x90 8 */
long (*QueryAcpiDeviceMapping)(void*, struct _EXT_IOMMU_DEVICE_ID*, struct _EXT_IOMMU_DEVICE_ID*);/* 0x98 8 */
unsigned (*GetRidAcpiMapCount)(void*, struct _EXT_IOMMU_DEVICE_ID*);/* 0xa0 8 */
long (*ConfigureAts)(void*, struct _EXT_IOMMU_DEVICE*, unsigned char);/* 0xa8 8 */
};
size 176 (0xb0)22 members0 holespadding 03 cachelines
Used in (1)