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 Reserved : 29;
    };
    UINT32 Value;
  };
} DXGK_IOMMU_CAPS;

メンバー

IommuIsolationSupported

ドライバーが IOMMU 分離をサポートし、IOMMU コールバック API を完全に利用して、ドライバーによって割り当てられたメモリ オブジェクトを IOMMU ドメインにマップすることを示します。 このフィールドはDXGK_DRIVERCAPSを模倣します 。MemoryManagementCaps.IOMMUSecureModeSupportedDxgkrnl は、これらの機能が一致することを想定しています。

IommuIsolationRequired

ハードウェアが正しく安全に機能するためには IOMMU が必要であることを示します。 IOMMU がシステムに存在しない場合、またはドメインをデバイスに接続できない場合、デバイスは起動しません。 このフィールドはDXGK_DRIVERCAPSを模倣します 。MemoryManagementCaps.IOMMUSecureModeRequiredDxgkrnl は、これらの機能が一致することを想定しています。

DmaRemappingSupported

標準の分離に使用される 1:1 マッピングだけでなく、線形再マッピングがドライバーによってサポートされていることを示します。 リンクされた複数の物理アダプターの最大表示アドレスの値が異なる場合、ドライバーはすべての物理アダプターの最小値を報告する必要があります。

Reserved

予約済み。使用しないでください。

Value

ビットにアクセスする別の方法。

注釈

DxgkrnlDxgkDdiQueryAdapterInfo を DXGKQAITYPE_IOMMU_CAPS のDXGK_QUERYADAPTERINFOTYPE値で呼び出すときに、ドライバーはこの構造体を入力しますDxgkrnl は、DxgkddiAddDevice がすべての物理アダプターに対して呼び出された後、DxgkddiStartDevice より前に DxgkDdiQueryAdapterInfo を呼び出します。 ドライバーは、現時点ですべてのリンクされた物理アダプターについて認識している必要があります。

論理 DMA 再マッピングのサポートを示すには、ドライバーもそれに応じて DXGK_PHYSICAL_MEMORY_CAPS を入力する必要があります。

詳細については、「 IOMMU DMA の再マッピング」を参照してください。

要件

   
サポートされている最小のサーバー Windows Server 2022
Header d3dkmddi.h

こちらもご覧ください

DXGK_PHYSICAL_MEMORY_CAPS

DXGK_QUERYADAPTERINFOTYPE

DXGK_VIDMMCAPS

DxgkddiAddDevice

DxgkDdiQueryAdapterInfo

DxgkddiStartDevice