Edit

IOMMU_DEVICE_CREATION_CONFIGURATION structure (wdm.h)

IOMMU_DEVICE_CREATION_CONFIGURATION describes a configuration or list of configurations to be used as part of creation and initialization of an IOMMU_DMA_DEVICE.

Syntax

typedef struct _IOMMU_DEVICE_CREATION_CONFIGURATION {
  LIST_ENTRY                               NextConfiguration;
  IOMMU_DEVICE_CREATION_CONFIGURATION_TYPE ConfigType;
  union {
    IOMMU_DEVICE_CREATION_CONFIGURATION_ACPI           Acpi;
    PVOID                                              DeviceId;
    IOMMU_DEVICE_CREATION_CONFIGURATION_PASID          Pasid;
    IOMMU_DEVICE_CREATION_CONFIGURATION_ATS            Ats;
    IOMMU_DEVICE_CREATION_CONFIGURATION_DEFAULT_DMA    DefaultDma;
    IOMMU_DEVICE_CREATION_CONFIGURATION_FAULT_HANDLING FaultHandling;
  };
} IOMMU_DEVICE_CREATION_CONFIGURATION, *PIOMMU_DEVICE_CREATION_CONFIGURATION;

Members

NextConfiguration

Optional list to provide additional configurations.

ConfigType

An enum describing which configuration is represented. See IOMMU_DEVICE_CREATION_CONFIGURATION_TYPE.

Acpi

If (ConfigType == IommuDeviceCreationConfigTypeAcpi), provides the input parameters necessary for device creation. See IOMMU_DEVICE_CREATION_CONFIGURATION_ACPI

DeviceId

Defines the PVOID member DeviceId.

Pasid

Defines the IOMMU_DEVICE_CREATION_CONFIGURATION_PASID member Pasid.

Ats

DefaultDma

FaultHandling

Remarks

If the device is an ACPI device on an ARM64 system, then an IOMMU_DEVICE_CREATION_CONFIGURATION structure must be provided during device creation, ConfigType = IommuDeviceCreationConfigTypeAcpi, and ACPI-specific parameters must be provided through IOMMU_DEVICE_CREATION_CONFIGURATION_ACPI in the Acpi field.

Requirements

Requirement Value
Minimum supported server Windows Server 2022
Header wdm.h (include Wdm.h)

See also

IOMMU_DEVICE_CREATION_CONFIGURATION_TYPE

IOMMU_DEVICE_CREATION_CONFIGURATION_ACPI

IOMMU_DEVICE_CREATE