DXGK_IOMMU_CAPS structure (d3dkmddi.h)
The DXGK_IOMMU_CAPS structure is used to indicate whether a driver supports IOMMU linear remapping.
Syntax
typedef struct _DXGK_IOMMU_CAPS {
union {
struct {
UINT32 IommuIsolationSupported : 1;
UINT32 IommuIsolationRequired : 1;
UINT32 DmaRemappingSupported : 1;
UINT32 GpuVaIommuRequired : 1;
UINT32 GpuVaIommuGlobalRequired : 1;
UINT32 Reserved : 27;
};
UINT32 Value;
};
} DXGK_IOMMU_CAPS;
Members
IommuIsolationSupported
Indicates that the driver supports IOMMU isolation, and fully utilizes the IOMMU callback API to map driver-allocated memory objects to the IOMMU domain. This field mimics DXGK_DRIVERCAPS.MemoryManagementCaps.IOMMUSecureModeSupported. Dxgkrnl expects these capabilities to match.
IommuIsolationRequired
Indicates that the IOMMU is required for the hardware to function correctly and safely. If an IOMMU is not present on the system or a domain cannot be attached to the device, the device will not start. This field mimics DXGK_DRIVERCAPS.MemoryManagementCaps.IOMMUSecureModeRequired. Dxgkrnl expects these capabilities to match.
DmaRemappingSupported
Indicates that linear remapping is supported by the driver, and not just the 1:1 mappings used for standard isolation. If multiple linked physical adapters have different values for their highest visible address, the driver should report the minimum value of all physical adapters.
GpuVaIommuRequired
GpuVaIommuGlobalRequired
Reserved
Reserved; do not use.
Value
An alternative method to access the bits.
Remarks
The driver fills in this structure when Dxgkrnl calls DxgkDdiQueryAdapterInfo with a DXGK_QUERYADAPTERINFOTYPE value of DXGKQAITYPE_IOMMU_CAPS. Dxgkrnl will call DxgkDdiQueryAdapterInfo after DxgkddiAddDevice has been called for all physical adapters, but before DxgkddiStartDevice. The driver is expected to know about all linked physical adapters at this time.
To indicate logical DMA remapping support, the driver must also fill in DXGK_PHYSICAL_MEMORY_CAPS accordingly.
For more information, see IOMMU DMA remapping.
Requirements
Requirement | Value |
---|---|
Minimum supported server | Windows Server 2022 |
Header | d3dkmddi.h |