device: 0.928 peripherals: 0.907 vnc: 0.902 graphic: 0.893 x86: 0.854 network: 0.795 performance: 0.789 architecture: 0.772 semantic: 0.762 user-level: 0.755 ppc: 0.751 KVM: 0.749 mistranslation: 0.710 register: 0.630 debug: 0.624 socket: 0.617 PID: 0.602 virtual: 0.599 files: 0.590 permissions: 0.576 kernel: 0.540 risc-v: 0.494 boot: 0.452 hypervisor: 0.402 arm: 0.393 VMM: 0.383 i386: 0.357 TCG: 0.343 assembly: 0.278 VFIO Passthrough of SAS2008-based HBA card fails on E3-1225v3 due to failed DMA mapping (-14) There is a bug preventing multiple people with my combination of hardware from using PCI passthrough. I am not actually sure whether the bug is in kernel/kvm, vfio or qemu, however, as qemu is the highest-level of these, I am reporting the bug here as you will likely know better where the origin of the bug may be found. When attempting to pass through this device to a KVM using VFIO, this results in error -14 (Bad Address): # qemu-system-x86_64 -enable-kvm -m 10G -net none -monitor stdio -serial # none -parallel none -vnc :1 -device vfio-pci,host=1:00.0 -S QEMU 2.9.1 monitor - type 'help' for more information (qemu) c (qemu) qemu-system-x86_64: VFIO_MAP_DMA: -14 qemu-system-x86_64: vfio_dma_map(0x7f548f0a1fc0, 0xfebd0000, 0x2000, 0x7f54a909d000) = -14 (Bad address) qemu: hardware error: vfio: DMA mapping failed, unable to continue See also: https://bugzilla.proxmox.com/show_bug.cgi?id=1556 https://www.redhat.com/archives/vfio-users/2016-May/msg00088.html This has occurred on Proxmox (Proxmox and Debian packages, Ubuntu kernel), Ubuntu, and pure Debian packages and kernel on Proxmox. However, this error reportedly does NOT occur for: - different distributions(!) (Fedora 24, 25) - different HBA cards (SAS2308, SAS3008) - different CPU (E3-1220v5) I would be thankful for any input and I'll be happy to provide any further info necessary. This is my first time delving this deep into anything close to the kernel. Thanks and best regards, Johannes Falke Hello! Has your problem been solved? I also encountered a similar problem. My ioctl() also returned an error -14(Bad address). The QEMU project is currently considering to move its bug tracking to another system. For this we need to know which bugs are still valid and which could be closed already. Thus we are setting older bugs to "Incomplete" now. If you still think this bug report here is valid, then please switch the state back to "New" within the next 60 days, otherwise this report will be marked as "Expired". Or mark it as "Fix Released" if the problem has been solved with a newer version of QEMU already. Thank you and sorry for the inconvenience. [Expired for QEMU because there has been no activity for 60 days.]