[pve-devel] [PATCH common/qemu-server v2 0/5] fix issues with viommu+vfio passthrough in #6608, #6378
Daniel Kral
d.kral at proxmox.com
Tue Sep 2 13:21:56 CEST 2025
This exposes the intel-iommu and virtio-iommu's aw-bits option through
the machine conf property string to users to properly set the aw-bits
for the vIOMMU. This allows intel-iommu users to override the new
default value of 48 for host IOMMUs that have a maximum guest address
width less than 48 bits (e.g. 39, 41, or 46 bits for Intel
consumer-grade CPUs). Else they get the fatal error on startup:
vfio 0000:XX:YY.Z: Failed to set vIOMMU: aw-bits 48 > host aw-bits 39
Additionally, qemu-server #1, qemu-server #2-4 add warnings about the
above (qemu-server #4) and another error that users run into:
kvm: vfio_container_dma_map(0x5c9222494280, 0x380000000000, 0x10000, 0x78075ee70000) = -22 (Invalid argument)
See qemu-server #3 for more information for the latter.
pve-common.git:
Daniel Kral (1):
procfs: cpuinfo: expose x86_phys_bits and x86_virt_bits values
src/PVE/ProcFSTools.pm | 5 +++++
1 file changed, 5 insertions(+)
qemu-server.git:
Daniel Kral (4):
fix #6608: expose viommu driver aw-bits option
cpu config: factor out gathering common cpu properties
fix #6378 (continued): warn intel-iommu users about iommu and host aw
bits mismatch
machine: warn intel-iommu users about too large address width
src/PVE/QemuServer.pm | 16 ++-
src/PVE/QemuServer/CPUConfig.pm | 100 ++++++++++--------
src/PVE/QemuServer/Machine.pm | 50 ++++++++-
.../cfg2cmd/q35-viommu-intel-aw-bits.conf | 2 +
.../cfg2cmd/q35-viommu-intel-aw-bits.conf.cmd | 25 +++++
.../q35-viommu-intel-exceeding-aw-bits.conf | 4 +
...35-viommu-intel-exceeding-aw-bits.conf.cmd | 25 +++++
.../cfg2cmd/q35-viommu-virtio-aw-bits.conf | 2 +
.../q35-viommu-virtio-aw-bits.conf.cmd | 25 +++++
src/test/run_config2command_tests.pl | 8 ++
10 files changed, 208 insertions(+), 49 deletions(-)
create mode 100644 src/test/cfg2cmd/q35-viommu-intel-aw-bits.conf
create mode 100644 src/test/cfg2cmd/q35-viommu-intel-aw-bits.conf.cmd
create mode 100644 src/test/cfg2cmd/q35-viommu-intel-exceeding-aw-bits.conf
create mode 100644 src/test/cfg2cmd/q35-viommu-intel-exceeding-aw-bits.conf.cmd
create mode 100644 src/test/cfg2cmd/q35-viommu-virtio-aw-bits.conf
create mode 100644 src/test/cfg2cmd/q35-viommu-virtio-aw-bits.conf.cmd
Summary over all repositories:
11 files changed, 213 insertions(+), 49 deletions(-)
--
Generated by git-murpp 0.8.0
More information about the pve-devel
mailing list