DXGK_IOMMU_CAPS 结构 (d3dkmddi.h)
DXGK_IOMMU_CAPS结构用于指示驱动程序是否支持 IOMMU 线性重新映射。
语法
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;
成员
IommuIsolationSupported
指示驱动程序支持 IOMMU 隔离,并充分利用 IOMMU 回调 API 将驱动程序分配的内存对象映射到 IOMMU 域。 此字段模拟 DXGK_DRIVERCAPS。MemoryManagementCaps.IOMMUSecureModeSupported。 Dxgkrnl 希望这些功能匹配。
IommuIsolationRequired
指示需要 IOMMU 才能使硬件正常运行且安全。 如果系统上不存在 IOMMU 或域无法附加到设备,则设备将不会启动。 此字段模拟 DXGK_DRIVERCAPS。MemoryManagementCaps.IOMMUSecureModeRequired。 Dxgkrnl 希望这些功能匹配。
DmaRemappingSupported
指示驱动程序支持线性重新映射,而不仅仅是用于标准隔离的 1:1 映射。 如果多个链接的物理适配器具有其最高可见地址的不同值,驱动程序应报告所有物理适配器的最小值。
GpuVaIommuRequired
GpuVaIommuGlobalRequired
Reserved
保留值;请勿使用。
Value
用于访问位的替代方法。
注解
当 Dxgkrnl 使用DXGK_QUERYADAPTERINFOTYPE值为 DXGKQAITYPE_IOMMU_CAPS 调用 DxgkDdiQueryAdapterInfo 时,驱动程序将填充此结构。 Dxgkrnl 将在为所有物理适配器调用 DxgkddiAddDevice 之后调用 DxgkDdiQueryAdapterInfo,但在 DxgkddiStartDevice 之前调用 DxgkddiQueryAdapterInfo。 此时,驱动程序应知道所有链接的物理适配器。
若要指示逻辑 DMA 重新映射支持,驱动程序还必须相应地填写 DXGK_PHYSICAL_MEMORY_CAPS 。
有关详细信息,请参阅 IOMMU DMA 重新映射。
要求
要求 | 值 |
---|---|
最低受支持的服务器 | Windows Server 2022 |
标头 | d3dkmddi.h |