Module iommu

Module iommu 

Source
Available on crate feature iommu only.
Expand description

Provide an interface for IOMMUs enabling I/O virtual address (IOVA) translation.

All IOMMUs consist of an IOTLB (Iotlb), which is backed by a data source that can deliver all mappings. For example, for vhost-user, that data source is the vhost-user front-end; i.e. IOTLB misses require sending a notification to the front-end and awaiting a reply that supplies the desired mapping.

Structs§

IommuMemory
GuestMemory type that consists of an underlying GuestMemoryBackend object plus an Iommu.
IommuMemorySliceIterator
Iterates over VolatileSlices that together form an area in an IommuMemory.
Iotlb
Provides an IOTLB.
IotlbFails
Lists the subranges in I/O virtual address space that turned out to not be accessible when trying to access an IOVA range.
IotlbIterator
Iterates over a range of valid IOTLB mappings that together constitute a continuous range in I/O virtual address space.
IovaRange
Representation of an IOVA memory range (i.e. in the I/O virtual address space).
MappedRange
Representation of a mapped memory range in the underlying address space.

Enums§

Error
Errors associated with IOMMU address translation.

Traits§

Iommu
An IOMMU, allowing translation of I/O virtual addresses (IOVAs).