Hi,
Gentle ping, any comments?
Thanks
Zhenzhong
>-----Original Message-----
>From: Duan, Zhenzhong <zhenzhong.duan@intel.com>
>Subject: [PATCH v3 00/10] conf, qemu: Add scalable_mode, fsts, pasid_bits, and
>svm support for intel-iommu
>
>Hi,
>
>This series adds support for configuring Intel vIOMMU (VT-d) in domain XML
>and formatting them onto the QEMU command line:
>
> * scalable_mode: Configures scalable mode support ('on'/'off').
> * fsts: Enables First-Stage Translation support ('on'/'off').
> * pasid_bits: Sets the number of supported PASID bits.
> * svm: Enables Shared Virtual Memory (SVM) / PRQ support ('on'/'off').
>
>With these attributes, users can configure advanced vIOMMU features for both
>emulated devices and assigned host devices (e.g., vSVA / nested translation via
>iommufd and first-stage translation).
>
>Example domain XML configuration:
>
> <iommu model='intel'>
> <driver caching_mode='on' iotlb='on' scalable_mode='on' fsts='on'
>pasid_bits='6' svm='on'/>
> </iommu>
>
>Which formats the following QEMU command line options:
>
> -device {"driver":"intel-iommu","id":"iommu0","caching-mode":true,"device-
>iotlb":true,"scalable-mode":true,"fsts":true,"pasid-bits":6,"svm":true}
>
>Testing:
> - Validated with libvirt test suite (ninja test).
> - Tested DSA card passthrough and SVM/vSVA with iommufd backend.
>
>Changelog:
>v3:
>- merge qemu patch into conf patch (Peter Krempa)
>- fix pasid_bits type definition (Peter Krempa)
>- fix doc to use 'pasid_bits' rather than 'pasid-bits' (Peter Krempa)
>- add patch10 to print attribute name in error message (Peter Krempa)
>- add patch5 for missing validations
>
>v2:
>- Added support for 'pasid_bits' and 'svm' attributes.
>- rebased to master branch newest
>
>Thanks,
>Zhenzhong
>
>
>Zhenzhong Duan (10):
> qemu_capabilities: Introduce QEMU_CAPS_INTEL_IOMMU_SCALABLE_MODE
> qemu: Add scalable_mode attribute to iommu
> qemu_capabilities: Introduce QEMU_CAPS_INTEL_IOMMU_FSTS
> qemu: Add fsts attribute to iommu
> qemu: Validate PCI hostdev assignment against intel-iommu 'fsts'
> qemu_capabilities: Introduce QEMU_CAPS_INTEL_IOMMU_PASID_BITS
> qemu: add pasid_bits attribute to iommu
> qemu_capabilities: Introduce QEMU_CAPS_INTEL_IOMMU_SVM
> qemu: add svm attribute to iommu
> conf: qemu: Standardize IOMMU error messages to use XML attribute
> names
>
> docs/formatdomain.rst | 19 +++
> src/conf/domain_conf.c | 120 +++++++++++++++---
> src/conf/domain_conf.h | 7 +
> src/conf/domain_validate.c | 55 +++++++-
> src/conf/schemas/domaincommon.rng | 20 +++
> src/libvirt_private.syms | 1 +
> src/qemu/qemu_capabilities.c | 10 ++
> src/qemu/qemu_capabilities.h | 6 +
> src/qemu/qemu_command.c | 4 +
> src/qemu/qemu_validate.c | 59 +++++++--
> .../caps_11.0.0_x86_64+sgx.xml | 1 +
> .../caps_11.0.0_x86_64.xml | 1 +
> .../caps_11.1.0_x86_64.xml | 4 +
> .../intel-iommu-fsts.x86_64-latest.args | 34 +++++
> .../intel-iommu-fsts.x86_64-latest.xml | 37 ++++++
> tests/qemuxmlconfdata/intel-iommu-fsts.xml | 37 ++++++
> .../intel-iommu-pasid-bits.x86_64-latest.args | 34 +++++
> .../intel-iommu-pasid-bits.x86_64-latest.xml | 37 ++++++
> .../intel-iommu-pasid-bits.xml | 37 ++++++
> ...tel-iommu-scalable-mode.x86_64-latest.args | 34 +++++
> ...ntel-iommu-scalable-mode.x86_64-latest.xml | 37 ++++++
> .../intel-iommu-scalable-mode.xml | 37 ++++++
> .../intel-iommu-svm.x86_64-latest.args | 34 +++++
> .../intel-iommu-svm.x86_64-latest.xml | 37 ++++++
> tests/qemuxmlconfdata/intel-iommu-svm.xml | 37 ++++++
> tests/qemuxmlconftest.c | 4 +
> 26 files changed, 712 insertions(+), 31 deletions(-)
> create mode 100644 tests/qemuxmlconfdata/intel-iommu-fsts.x86_64-latest.args
> create mode 100644 tests/qemuxmlconfdata/intel-iommu-fsts.x86_64-latest.xml
> create mode 100644 tests/qemuxmlconfdata/intel-iommu-fsts.xml
> create mode 100644 tests/qemuxmlconfdata/intel-iommu-pasid-bits.x86_64-
>latest.args
> create mode 100644 tests/qemuxmlconfdata/intel-iommu-pasid-bits.x86_64-
>latest.xml
> create mode 100644 tests/qemuxmlconfdata/intel-iommu-pasid-bits.xml
> create mode 100644 tests/qemuxmlconfdata/intel-iommu-scalable-
>mode.x86_64-latest.args
> create mode 100644 tests/qemuxmlconfdata/intel-iommu-scalable-
>mode.x86_64-latest.xml
> create mode 100644 tests/qemuxmlconfdata/intel-iommu-scalable-mode.xml
> create mode 100644 tests/qemuxmlconfdata/intel-iommu-svm.x86_64-
>latest.args
> create mode 100644 tests/qemuxmlconfdata/intel-iommu-svm.x86_64-latest.xml
> create mode 100644 tests/qemuxmlconfdata/intel-iommu-svm.xml
>
>--
>2.52.0
© 2016 - 2026 Red Hat, Inc.