[vfio-users] VFIO_MAP_DMA error EINVAL

cprt cprt at protonmail.com
Wed Dec 11 13:17:18 UTC 2019


Hello,
I am using VFIO with QEMU trying to passthrough my audio device.

I successfully did this operation with my previous system, with a 7th generation intel and an older kernel.
Now I am using a 10th generation intel and a newer kernel (5.4), and I can no longer make this work.

Looking at the QEMU code and errors, I can see that this call is failing:
ioctl(container->fd, VFIO_IOMMU_MAP_DMA, &map)
with error 22 (EINVAL).

This is the qemu log:
qemu-system-x86_64: -device vfio-pci,host=00:1f.3: vfio_dma_map(0x7f86fdc7c480, 0xc0000, 0x7ff40000, 0x7f83f20c0000) = -22 (Invalid argument)

I have setup my system as follows:
$ cat /proc/cmdline
BOOT_IMAGE=/vmlinuz-linux root=UUID=5b780644-8382-11e9-a363-1b71c3bf36e9 rw loglevel=3 i915.enable_psr=0 intel_iommu=on iommu=pt i915.enable_gvt=1 kvm.ignore_msrs=1 vfio-pci.ids=8086:0284,8086:02c8,8086:02a3,8086:02a4

And this is the information of my PCI layout:
$ lspci -s 00:1f
00:1f.0 ISA bridge: Intel Corporation Device 0284
00:1f.3 Audio device: Intel Corporation Device 02c8
00:1f.4 SMBus: Intel Corporation Device 02a3
00:1f.5 Serial bus controller [0c80]: Intel Corporation Comet Lake SPI (flash) Controller
$ lspci -s 00:1f -n
00:1f.0 0601: 8086:0284
00:1f.3 0403: 8086:02c8
00:1f.4 0c05: 8086:02a3
00:1f.5 0c80: 8086:02a4

I tried (just as an experiment) to bypass the error check in the QEMU code, and the virtualized audio device works as expected for a while, then it stops.

Do you know what could generate the problem?

Sent with [ProtonMail](https://protonmail.com) Secure Email.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/vfio-users/attachments/20191211/3c65abbd/attachment.htm>


More information about the vfio-users mailing list