Signed-off-by: Peter Krempa <pkrempa@xxxxxxxxxx> --- docs/formatdomain-devices-iommu.rst | 54 ++++++++++++++++++++++++++++ docs/formatdomain-devices.rst | 56 +---------------------------- docs/meson.build | 1 + 3 files changed, 56 insertions(+), 55 deletions(-) create mode 100644 docs/formatdomain-devices-iommu.rst diff --git a/docs/formatdomain-devices-iommu.rst b/docs/formatdomain-devices-iommu.rst new file mode 100644 index 0000000000..50f83c8f31 --- /dev/null +++ b/docs/formatdomain-devices-iommu.rst @@ -0,0 +1,54 @@ +:anchor:`<a id="elementsIommu"/>` + +IOMMU devices +~~~~~~~~~~~~~ + +The ``iommu`` element can be used to add an IOMMU device. :since:`Since 2.1.0` + +Example: + +:: + + ... + <devices> + <iommu model='intel'> + <driver intremap='on'/> + </iommu> + </devices> + ... + +``model`` + Supported values are ``intel`` (for Q35 guests) and, :since:`since 5.5.0` , + ``smmuv3`` (for ARM virt guests). + +``driver`` + The ``driver`` subelement can be used to configure additional options, some + of which might only be available for certain IOMMU models: + + ``intremap`` + The ``intremap`` attribute with possible values ``on`` and ``off`` can be + used to turn on interrupt remapping, a part of the VT-d functionality. + Currently this requires split I/O APIC (``<ioapic driver='qemu'/>``). + :since:`Since 3.4.0` (QEMU/KVM only) + + ``caching_mode`` + The ``caching_mode`` attribute with possible values ``on`` and ``off`` can + be used to turn on the VT-d caching mode (useful for assigned devices). + :since:`Since 3.4.0` (QEMU/KVM only) + + ``eim`` + The ``eim`` attribute (with possible values ``on`` and ``off``) can be + used to configure Extended Interrupt Mode. A q35 domain with split I/O + APIC (as described in `hypervisor features <#elementsFeatures>`__), and + both interrupt remapping and EIM turned on for the IOMMU, will be able to + use more than 255 vCPUs. :since:`Since 3.4.0` (QEMU/KVM only) + + ``iotlb`` + The ``iotlb`` attribute with possible values ``on`` and ``off`` can be + used to turn on the IOTLB used to cache address translation requests from + devices. :since:`Since 3.5.0` (QEMU/KVM only) + + ``aw_bits`` + The ``aw_bits`` attribute can be used to set the address width to allow + mapping larger iova addresses in the guest. :since:`Since 6.5.0` (QEMU/KVM + only) diff --git a/docs/formatdomain-devices.rst b/docs/formatdomain-devices.rst index 827233af64..39887bc1bf 100644 --- a/docs/formatdomain-devices.rst +++ b/docs/formatdomain-devices.rst @@ -63,61 +63,7 @@ following characters: ``[a-zA-Z0-9_-]``. :since:`Since 3.9.0` .. include:: formatdomain-devices-panic.rst .. include:: formatdomain-devices-shmem.rst .. include:: formatdomain-devices-memory.rst - -:anchor:`<a id="elementsIommu"/>` - -IOMMU devices -~~~~~~~~~~~~~ - -The ``iommu`` element can be used to add an IOMMU device. :since:`Since 2.1.0` - -Example: - -:: - - ... - <devices> - <iommu model='intel'> - <driver intremap='on'/> - </iommu> - </devices> - ... - -``model`` - Supported values are ``intel`` (for Q35 guests) and, :since:`since 5.5.0` , - ``smmuv3`` (for ARM virt guests). - -``driver`` - The ``driver`` subelement can be used to configure additional options, some - of which might only be available for certain IOMMU models: - - ``intremap`` - The ``intremap`` attribute with possible values ``on`` and ``off`` can be - used to turn on interrupt remapping, a part of the VT-d functionality. - Currently this requires split I/O APIC (``<ioapic driver='qemu'/>``). - :since:`Since 3.4.0` (QEMU/KVM only) - - ``caching_mode`` - The ``caching_mode`` attribute with possible values ``on`` and ``off`` can - be used to turn on the VT-d caching mode (useful for assigned devices). - :since:`Since 3.4.0` (QEMU/KVM only) - - ``eim`` - The ``eim`` attribute (with possible values ``on`` and ``off``) can be - used to configure Extended Interrupt Mode. A q35 domain with split I/O - APIC (as described in `hypervisor features <#elementsFeatures>`__), and - both interrupt remapping and EIM turned on for the IOMMU, will be able to - use more than 255 vCPUs. :since:`Since 3.4.0` (QEMU/KVM only) - - ``iotlb`` - The ``iotlb`` attribute with possible values ``on`` and ``off`` can be - used to turn on the IOTLB used to cache address translation requests from - devices. :since:`Since 3.5.0` (QEMU/KVM only) - - ``aw_bits`` - The ``aw_bits`` attribute can be used to set the address width to allow - mapping larger iova addresses in the guest. :since:`Since 6.5.0` (QEMU/KVM - only) +.. include:: formatdomain-devices-iommu.rst :anchor:`<a id="vsock"/>` diff --git a/docs/meson.build b/docs/meson.build index f0f7690d54..86d98a1558 100644 --- a/docs/meson.build +++ b/docs/meson.build @@ -148,6 +148,7 @@ docs_rst_files = [ 'formatdomain-devices-panic.rst', 'formatdomain-devices-shmem.rst', 'formatdomain-devices-memory.rst', + 'formatdomain-devices-iommu.rst', ] }, { 'name': 'hacking' }, -- 2.26.2