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 が DxgkDdiQueryAdapterInfo を DXGKQAITYPE_IOMMU_CAPS の DXGK_QUERYADAPTERINFOTYPE 値で呼び出すときに、この構造体 を入力します。 Dxgkrnl は、DxgkddiAddDevice がすべての物理アダプターに対して呼び出された後、DxgkddiStartDevice より前に DxgkDdiQueryAdapterInfo を呼び出します。 ドライバーは、現時点ですべてのリンクされた物理アダプターについて認識している必要があります。
DMA の論理的な再マップのサポートを示すには、ドライバーもそれに応じて DXGK_PHYSICAL_MEMORY_CAPS を入力する必要があります。
詳細については、「 IOMMU DMA 再マップ」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のサーバー | Windows Server 2022 |
Header | d3dkmddi.h |