On 1/19/2026 5:17 AM, Pavel Hrdina wrote:
On Fri, Jan 16, 2026 at 05:39:31PM -0800, Nathan Chen via Devel wrote:
From: Nathan Chen<[email protected]>

Implement a new iommufd attribute under hostdevs' PCI
subsystem driver that can be used to specify associated
iommufd object when launching a qemu VM.

Signed-off-by: Ján Tomko<[email protected]>
Signed-off-by: Nathan Chen<[email protected]>
---
  docs/formatdomain.rst           |  7 +++++
  src/conf/device_conf.c          | 11 ++++++++
  src/conf/device_conf.h          |  1 +
  src/conf/schemas/basictypes.rng |  5 ++++
  src/qemu/qemu_command.c         | 46 +++++++++++++++++++++++++++++++++
  5 files changed, 70 insertions(+)

diff --git a/docs/formatdomain.rst b/docs/formatdomain.rst
index 04ef319a73..08fc3f3944 100644
--- a/docs/formatdomain.rst
+++ b/docs/formatdomain.rst
@@ -4920,6 +4920,13 @@ or:
     found is "problematic" in some way, the generic vfio-pci driver
     similarly be forced.
We should add :since:`Since 12.1.0 (QEMU and KVM only)`

+   The ``<driver>`` element's ``iommufd`` attribute is used to specify
+   using the iommufd interface to propagate DMA mappings to the kernel,
+   instead of VFIO alone. When the attribute is present, an iommufd
+   object will be created by the resulting qemu command. Libvirt will
+   open the /dev/iommu and VFIO device cdev, passing the associated
+   file descriptor numbers to the qemu command.
I would rephrase this paragraph to something like this:

    :since:`Since 12.1.0 (QEMU and KVM only), the ``iommufd`` element can
    be used to enable IOMMUFD backend for VFIO device. This provides
    interface to propagate DMA mappings to kernel for assigned devices.
    Libvirt will open the /dev/iommu and VFIO device cdev and pass
    associated file descriptors to QEMU.

Got it, thanks for the feedback.

Nathan

Reply via email to