Re: [PATCH 0/5] Convert virtio-iommu to domain_alloc_paging()

Jean-Philippe Brucker
2025-02-12T11:58:22Z

Hi Jacob,

On Tue, Feb 11, 2025 at 04:41:51PM -0800, Jacob Pan wrote:
> > However, there seem to be some unrelated qemu bugs. 7.0.0 does not
> > have working VIRTIO_IOMMU_F_BYPASS_CONFIG and neither qemu works with
> > an IDENTITY domain using !VIRTIO_IOMMU_F_BYPASS_CONFIG. It prints:
> >
> > qemu-system-x86_64: iommu has granularity incompatible with target AS
> > qemu-system-x86_64: iommu map to non memory area 80000000
> > qemu-system-x86_64: iommu map to non memory area c0000000
> > qemu-system-x86_64: iommu map to non memory area e0000000
> > qemu-system-x86_64: iommu map to non memory area f0000000
> > qemu-system-x86_64: iommu map to non memory area f8000000
> > qemu-system-x86_64: iommu map to non memory area fc000000
> > qemu-system-x86_64: iommu map to non memory area fe000000
> > qemu-system-x86_64: iommu map to non memory area fe800000
> > qemu-system-x86_64: iommu map to non memory area 0
> > qemu-system-x86_64: iommu map to non memory area fef00000
> > qemu-system-x86_64: iommu map to non memory area ff000000
> > qemu-system-x86_64: iommu has granularity incompatible with target AS
> > qemu-system-x86_64: iommu map to non memory area 200000000
> > qemu-system-x86_64: iommu map to non memory area 400000000
> > qemu-system-x86_64: iommu map to non memory area 800000000
> > qemu-system-x86_64: iommu map to non memory area 1000000000
> > qemu-system-x86_64: iommu map to non memory area 2000000000
> > qemu-system-x86_64: iommu map to non memory area 4000000000
>
> I see the same on arm64 with v9.0, assigned an ixgbe nic via VFIO.
>
> qemu-system-aarch64: iommu map to non memory area 0
> qemu-system-aarch64: iommu map to non memory area 8100000
> qemu-system-aarch64: iommu map to non memory area 8200000
> qemu-system-aarch64: iommu map to non memory area 8400000
> qemu-system-aarch64: iommu map to non memory area 8800000
> qemu-system-aarch64: iommu map to non memory area 0
> qemu-system-aarch64: iommu map to non memory area 0
> qemu-system-aarch64: iommu map to non memory area c000000
> qemu-system-aarch64: iommu map to non memory area 10000000
> qemu-system-aarch64: iommu map to non memory area 20000000
> qemu-system-aarch64: iommu has granularity incompatible with target AS
> qemu-system-aarch64: iommu map to non memory area 200000000
> qemu-system-aarch64: iommu map to non memory area 400000000
> qemu-system-aarch64: iommu map to non memory area 800000000
> qemu-system-aarch64: iommu map to non memory area 1000000000
> qemu-system-aarch64: iommu map to non memory area 2000000000
> qemu-system-aarch64: iommu map to non memory area 4000000000
> qemu-system-aarch64: iommu map to non memory area 8000000000
> qemu-system-aarch64: iommu map to non memory area 10000000000
> qemu-system-aarch64: iommu map to non memory area 20000000000
> qemu-system-aarch64: iommu map to non memory area 40000000000
> qemu-system-aarch64: iommu map to non memory area 80000000000
> qemu-system-aarch64: iommu map to non memory area 100000000000
> qemu-system-aarch64: iommu map to non memory area 200000000000
> qemu-system-aarch64: iommu map to non memory area 400000000000
> qemu-system-aarch64: iommu map to non memory area 800000000000

QEMU v9.0 and v9.1 have reached end of life. Do you also get this error
with QEMU v9.2.x?

Are you running an arm64 guest on an x86 host with TCG, or arm64 guest on
arm64 host with KVM? Does reproducing this require modifying QEMU or Linux
to disable support for F_BYPASS_CONFIG, or just passing QEMU/kernel
parameters?

Thanks,
Jean