IOMMU_DMA_LOGICAL_ALLOCATOR_CONFIG Struktur (wdm.h)
Die IOMMU_DMA_LOGICAL_ALLOCATOR_CONFIG-Struktur enthält Informationen, die zum Konfigurieren eines logischen Ocators erforderlich sind.
Diese Struktur wird von IOMMU_DOMAIN_CREATE_EX verwendet, um einen logischen Allokator zu erstellen, der der erstellten [IOMMU_DMA_DOMAIN].
Syntax
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;
Angehörige
LogicalAllocatorType
Ein IOMMU_DMA_LOGICAL_ALLOCATOR_TYPE Wert, der den Typ des zu erstellenden logischen Zuweisungszeichens angibt.
BuddyAllocatorConfig
Stellt Konfigurationsinformationen bereit, die für den HAL-Buddy-Allocator spezifisch sind.
BuddyAllocatorConfig.AddressWidth
Stellt die Adressbreite für den zu erstellenden Allocator bereit. 32-Bit-Betriebssysteme sind auf eine Breite von 32 Bit beschränkt, während 64-Bit-Betriebssysteme auf eine Breite von 63 Bit beschränkt sind. Beim Erstellen einer Domäne sollte die Adressbreite der maximal zulässigen Adressbreite für die geräte(n) entsprechen.
Bemerkungen
Bei IOMMU_DOMAIN_CREATE_EXkann ein Aufrufer die Anfügung eines logischen Zuweisungszeichens an die zu erstellende Domäne verwenden.
Bei der Interaktion mit einer solchen Domäne muss ein Aufrufer keine vorherigen Zuordnungen nachverfolgen. Stattdessen übernimmt der logische Zuweisungsgeber die Verantwortung für die Bestimmung der logischen Adresse, die beim Zuordnen physischer Seiten zur besitzereigenen Domäne verwendet werden soll. Der logische Zuweisungsgeber ist auch für die Aufrechterhaltung des Zustands verantwortlich, um sicherzustellen, dass logische Adresskonflikte nicht auftreten.
Derzeit ist der einzige logische Zuweisungstyp verfügbar, der Buddy Allocator. Dieser Zuweisungsgeber bevorzugt niedrige logische Adressen und weist logische Adressen an der Leistung von zwei Begrenzungen bei oder über 4 KB zu. Der Allocator wird auch durch einen Cache mit kostenlosen Logischen Adresswerten erweitert, um die Leistung der kostenlosen Adresssuche zu verbessern.
Der Buddy Allocator lässt keine explizite Adresszuweisung zu. Das Aufrufen von IOMMU_MAP_IDENTITY_RANGE_EX oder IOMMU_MAP_LOGICAL_RANGE_EX mit einer expliziten Adresse, die auf einem [IOMMU_DMA_DOMAIN* erstellt mit einem BuddyAllocator erstellt wurde, schlägt fehl.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Server- | Windows Server 2022 |
Header- | wdm.h (include Wdm.h) |