Lines Matching full:viommu

78   Such a vIOMMU object generally has the access to a nesting parent pagetable
79 to support some HW-accelerated virtualization features. So, a vIOMMU object
81 encapsulate that HWPT_PAGING object. Therefore, a vIOMMU object can be used
86 The name "vIOMMU" isn't necessarily identical to a virtualized IOMMU in a
90 vIOMMU objects created for individual slices of different physical IOMMUs.
91 In other words, a vIOMMU object is always a representation of one physical
96 backed by corresponding vIOMMU objects, in which case a guest OS would do
101 information or attributes (related to the vIOMMU) in a VM. An immediate vDATA
102 example can be the virtual ID of the device on a vIOMMU, which is a unique ID
103 that VMM assigns to the device for a translation channel/port of the vIOMMU,
109 vIOMMU, which is a separate ioctl call from attaching the same device to an
110 HWPT_PAGING that the vIOMMU holds.
151 | iommufd (with vIOMMU/vDEVICE) |
156 | |----------------| vIOMMU |<---| vDEVICE |<----| |
203 uAPI, provided an hwpt_id or a viommu_id of a vIOMMU object encapsulating a
222 uAPI, provided a dev_id (for the device's physical IOMMU to back the vIOMMU)
223 and an hwpt_id (to associate the vIOMMU to a nesting parent HWPT_PAGING). The
224 iommufd core will link the vIOMMU object to the struct iommu_device that the
226 to allocate its own vIOMMU data structure embedding the core-level structure
228 also configure its HW virtualization feature for that vIOMMU (and thus for
230 the vIOMMU object and the HWPT_PAGING, then this vIOMMU object can be used
238 vIOMMU. If necessary, the IOMMU driver may choose to implement a vdevce_alloc
240 completion of this operation sets up the linkages between vIOMMU and device.