-
Bug
-
Resolution: Unresolved
-
Undefined
-
None
-
rhel-10.2
-
None
-
No
-
None
-
rhel-virt-hwe-vfio
-
None
-
False
-
False
-
-
None
-
None
-
None
-
None
-
Unspecified
-
Unspecified
-
Unspecified
-
-
x86_64
-
None
What were you trying to do that didn't work?
The pc-q35-rhel10.2.0 VM with a PF + intel iommu device fails to start with the error like:
"vfio 0000:0a:00.0: Failed to set vIOMMU: aw-bits 48 > host aw-bits 47"
What is the impact of this issue to you?
high
Please provide the package NVR for which the bug is seen:
host:
6.12.0-161.el10.x86_64
qemu-kvm-10.1.0-5.el10.x86_64
How reproducible is this bug?:
100%
Steps to reproduce
- make sure the intel_iommu kernel option is enable in the host kernel
- check Host address width
# dmesg [ 1.608095] DMAR: Host address width 46
- start a VM whose machine type is pc-q35-rhel10.2.0 and with X540 PF + intel iommu device
<domain type='kvm'> <name>rhel10</name> <uuid>1309a6ab-8229-4021-8252-134551f36e06</uuid> <memory unit='KiB'>8384512</memory> <currentMemory unit='KiB'>8384512</currentMemory> <vcpu placement='static'>4</vcpu> <os firmware='efi'> <type arch='x86_64' machine='pc-q35-rhel10.2.0'>hvm</type> <firmware> <feature enabled='no' name='enrolled-keys'/> <feature enabled='no' name='secure-boot'/> </firmware> <loader readonly='yes' type='pflash' format='raw'>/usr/share/edk2/ovmf/OVMF_CODE.fd</loader> <nvram template='/usr/share/edk2/ovmf/OVMF_VARS.fd' templateFormat='raw' format='raw'>/var/lib/libvirt/qemu/nvram/rhel10_VARS.fd</nvram> <boot dev='hd'/> </os> <features> <acpi/> <apic/> <ioapic driver='qemu'/> </features> <cpu mode='host-passthrough' check='none' migratable='on'/> ... <devices> ... <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x0a' slot='0x00' function='0x0'/> </source> </hostdev> ... <iommu model='intel'> <driver intremap='on' caching_mode='on' iotlb='on'/> </iommu> </devices> </domain>
Expected results
The VM can be started
Actual results
The VM fails to start
# virsh start rhel10
error: Failed to start domain 'rhel10'
error: internal error: QEMU unexpectedly closed the monitor (vm='rhel10'): 2025-11-26T08:35:37.593938Z qemu-kvm: -device {"driver":"vfio-pci","host":"0000:0a:00.0","id":"hostdev0","bus":"pci.4","addr":"0x0"}: vfio 0000:0a:00.0: Failed to set vIOMMU: aw-bits 48 > host aw-bits 47
Additional info:
There are 2 workarounds for this issue:
[1] change the machine type back to pc-q35-rhel10.0.0
[2] specify the intel iommu device's aw-bits to '39' manually
<iommu model='intel'> <driver intremap='on' caching_mode='on' iotlb='on' aw_bits='39'/> <alias name='iommu0'/> </iommu>