struktur IOMMU_DMA_LOGICAL_ALLOCATOR_CONFIG (wdm.h)

Struktur IOMMU_DMA_LOGICAL_ALLOCATOR_CONFIG berisi informasi yang diperlukan untuk mengonfigurasi alokator logis.

Struktur ini digunakan oleh IOMMU_DOMAIN_CREATE_EX untuk membuat alokator logis yang melekat pada [IOMMU_DMA_DOMAIN] yang dibuat.

Sintaks

typedef struct _IOMMU_DMA_LOGICAL_ALLOCATOR_CONFIG {
  IOMMU_DMA_LOGICAL_ALLOCATOR_TYPE LogicalAllocatorType;
  union {
    struct {
      ULONG AddressWidth;
    } BuddyAllocatorConfig;
  };
} IOMMU_DMA_LOGICAL_ALLOCATOR_CONFIG, *PIOMMU_DMA_LOGICAL_ALLOCATOR_CONFIG;

Anggota

LogicalAllocatorType

Nilai IOMMU_DMA_LOGICAL_ALLOCATOR_TYPE yang menunjukkan jenis alokator logis yang akan dibuat.

BuddyAllocatorConfig

Menyediakan informasi konfigurasi khusus untuk Hal Buddy Allocator.

BuddyAllocatorConfig.AddressWidth

Menyediakan lebar alamat untuk alokator yang akan dibuat. Sistem operasi 32-bit terbatas pada lebar 32 bit, sementara sistem operasi 64-bit dibatasi pada lebar 63 bit. Saat membuat domain, lebar alamat harus sesuai dengan lebar alamat maksimum untuk perangkat yang diharapkan untuk dilampirkan.

Keterangan

Dengan IOMMU_DOMAIN_CREATE_EX, penelepon dapat memilih untuk melampirkan alokator logis ke domain yang sedang dibuat.

Saat berinteraksi dengan domain seperti itu, penelepon tidak perlu melacak pemetaan sebelumnya. Sebaliknya, alokator logis bertanggung jawab untuk menentukan alamat logis yang akan digunakan saat memetakan halaman fisik ke domain pemilik. Alokator logis juga bertanggung jawab untuk mempertahankan status untuk memastikan bahwa tabrakan alamat logis tidak terjadi.

Saat ini satu-satunya jenis alokator logis yang tersedia adalah Buddy Allocator. Alokator ini mendukung alamat logis yang rendah dan akan mengalokasikan alamat logis dengan kekuatan dua batas pada atau di atas 4KB. Alokator juga ditambah dengan cache nilai alamat logis gratis untuk meningkatkan performa pencarian alamat gratis.

Alokator Teman tidak mengizinkan alokasi alamat eksplisit. Memanggil IOMMU_MAP_IDENTITY_RANGE_EX atau IOMMU_MAP_LOGICAL_RANGE_EX dengan alamat eksplisit yang disediakan pada [IOMMU_DMA_DOMAIN* yang dibuat dengan BuddyAllocator akan gagal.

Persyaratan

Persyaratan Nilai
Server minimum yang didukung Windows Server 2022
Header wdm.h (termasuk Wdm.h)

Lihat juga

IOMMU_DOMAIN_CREATE_EX

IOMMU_DMA_LOGICAL_ALLOCATOR_TYPE