[vfio-users] PCIE sound card passthrough error - DMA mapping failed

JS xgraystorm01 at yahoo.com
Tue Jan 17 23:13:29 UTC 2017


Hi VFIO,

I'm hoping to get some help with an error i'm receiving  when trying to passthrough a creative soundblaster pcie card. the vm crashes with the following message in the vm log file

2017-01-17T19:51:09.573169Z qemu-system-x86_64: VFIO_MAP_DMA: -14
2017-01-17T19:51:09.573195Z qemu-system-x86_64: vfio_dma_map(0x5613ff681480, 0x98000000, 0x4000, 0x7f22a4c22000) = -14 (Bad address)

Ok, first off. HARDWARE:

I am running a dell precision t5500 with dual hexa-core processors running NUMA. the MB has 5 pcie slots, and according to the service manual, slots 1,3,5 are pcix16 wired at 8x. slot 2 has my "host" graphics Nvidia Quadro 4000, and slot 4 has my guest gpu Radein rx480, each one hooked up to a separate monitor. (the reason i mention the slots is further down)

OS
Linux fedser.localdomain 4.8.6-300.fc25.x86_64 #1 SMP Tue Nov 1 12:36:38 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

IOMMU_GROUP
IOMMU Group 17 22:00.0 PCI bridge [0604]: Creative Labs [SB X-Fi Xtreme Audio] CA0110-IBG PCIe to PCI Bridge [1102:7006]
IOMMU Group 17 23:00.0 Audio device [0403]: Creative Labs CA0110 [Sound Blaster X-Fi Xtreme Audio] [1102:0009]

No matter whether i put it in slot 1,3 or 5. The grouping is always the same, the pcie bridge and the sound card. I am only stubbing the sound card itself and not the bridge.

So i don't think grouping is an issue.

lspci -tv
-+-[0000:3f]-+-00.0  Intel Corporation Xeon 5600 Series QuickPath Architecture Generic Non-core Registers
 |           +-00.1  Intel Corporation Xeon 5600 Series QuickPath Architecture System Address Decoder
 |           +-02.0  Intel Corporation Xeon 5600 Series QPI Link 0
 |           +-02.1  Intel Corporation Xeon 5600 Series QPI Physical 0
 |           +-02.2  Intel Corporation Xeon 5600 Series Mirror Port Link 0
 |           +-02.3  Intel Corporation Xeon 5600 Series Mirror Port Link 1
 |           +-02.4  Intel Corporation Xeon 5600 Series QPI Link 1
 |           +-02.5  Intel Corporation Xeon 5600 Series QPI Physical 1
 |           +-03.0  Intel Corporation Xeon 5600 Series Integrated Memory Controller Registers
 |           +-03.1  Intel Corporation Xeon 5600 Series Integrated Memory Controller Target Address Decoder
 |           +-03.2  Intel Corporation Xeon 5600 Series Integrated Memory Controller RAS Registers
 |           +-03.4  Intel Corporation Xeon 5600 Series Integrated Memory Controller Test Registers
 |           +-04.0  Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 0 Control
 |           +-04.1  Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 0 Address
 |           +-04.2  Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 0 Rank
 |           +-04.3  Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 0 Thermal Control
 |           +-05.0  Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 1 Control
 |           +-05.1  Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 1 Address
 |           +-05.2  Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 1 Rank
 |           +-05.3  Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 1 Thermal Control
 |           +-06.0  Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 2 Control
 |           +-06.1  Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 2 Address
 |           +-06.2  Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 2 Rank
 |           \-06.3  Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 2 Thermal Control
 +-[0000:3e]-+-00.0  Intel Corporation Xeon 5600 Series QuickPath Architecture Generic Non-core Registers
 |           +-00.1  Intel Corporation Xeon 5600 Series QuickPath Architecture System Address Decoder
 |           +-02.0  Intel Corporation Xeon 5600 Series QPI Link 0
 |           +-02.1  Intel Corporation Xeon 5600 Series QPI Physical 0
 |           +-02.2  Intel Corporation Xeon 5600 Series Mirror Port Link 0
 |           +-02.3  Intel Corporation Xeon 5600 Series Mirror Port Link 1
 |           +-02.4  Intel Corporation Xeon 5600 Series QPI Link 1
 |           +-02.5  Intel Corporation Xeon 5600 Series QPI Physical 1
 |           +-03.0  Intel Corporation Xeon 5600 Series Integrated Memory Controller Registers
 |           +-03.1  Intel Corporation Xeon 5600 Series Integrated Memory Controller Target Address Decoder
 |           +-03.2  Intel Corporation Xeon 5600 Series Integrated Memory Controller RAS Registers
 |           +-03.4  Intel Corporation Xeon 5600 Series Integrated Memory Controller Test Registers
 |           +-04.0  Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 0 Control
 |           +-04.1  Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 0 Address
 |           +-04.2  Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 0 Rank
 |           +-04.3  Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 0 Thermal Control
 |           +-05.0  Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 1 Control
 |           +-05.1  Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 1 Address
 |           +-05.2  Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 1 Rank
 |           +-05.3  Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 1 Thermal Control
 |           +-06.0  Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 2 Control
 |           +-06.1  Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 2 Address
 |           +-06.2  Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 2 Rank
 |           \-06.3  Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 2 Thermal Control
 +-[0000:20]-+-07.0-[22-23]----00.0-[23]----00.0  Creative Labs CA0110 [Sound Blaster X-Fi Xtreme Audio]
 |           +-09.0-[24]--
 |           +-14.0  Intel Corporation 7500/5520/5500/X58 I/O Hub System Management Registers
 |           +-14.1  Intel Corporation 7500/5520/5500/X58 I/O Hub GPIO and Scratch Pad Registers
 |           \-14.2  Intel Corporation 7500/5520/5500/X58 I/O Hub Control Status and RAS Registers
 \-[0000:00]-+-00.0  Intel Corporation 5520 I/O Hub to ESI Port
             +-01.0-[01-02]----00.0-[02]--
             +-03.0-[03]--+-00.0  NVIDIA Corporation GF100GL [Quadro 4000]
             |            \-00.1  NVIDIA Corporation GF100 High Definition Audio Controller
             +-07.0-[04]--+-00.0  Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480]
             |            \-00.1  Advanced Micro Devices, Inc. [AMD/ATI] Device aaf0
             +-14.0  Intel Corporation 7500/5520/5500/X58 I/O Hub System Management Registers
             +-14.1  Intel Corporation 7500/5520/5500/X58 I/O Hub GPIO and Scratch Pad Registers
             +-14.2  Intel Corporation 7500/5520/5500/X58 I/O Hub Control Status and RAS Registers
             +-1a.0  Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #4
             +-1a.1  Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #5
             +-1a.2  Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #6
             +-1a.7  Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #2
             +-1b.0  Intel Corporation 82801JI (ICH10 Family) HD Audio Controller
             +-1c.0-[05]--
             +-1c.5-[06]----00.0  Broadcom Limited NetXtreme BCM5761 Gigabit Ethernet PCIe
             +-1d.0  Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #1
             +-1d.1  Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #2
             +-1d.2  Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #3
             +-1d.7  Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #1
             +-1e.0-[07]--
             +-1f.0  Intel Corporation 82801JIR (ICH10R) LPC Interface Controller
             +-1f.2  Intel Corporation 82801JI (ICH10 Family) SATA AHCI Controller
             \-1f.3  Intel Corporation 82801JI (ICH10 Family) SMBus Controller


BUT, here is where i'm getting stuck. The other day, i decided to try something different. I moved the Nvidia card from slot2 to slot3 and put the soundblaster into slot2. And lo and behold, it worked. I already have a win7 vm with ovmf and the radeon up and working, and i was able to add the soundblaster to the vm and windows recognized it, i was able to install the software and it tested out perfectly. However, apparently my bios is limited by what slots it looks at for video cards, so i actually lost my display thru nvidia. It wouldn't show up at all. in my bios i found that i have 2 choices for video either it looks for cards in one of two orders; pcix,pcieslot2,pcieslot4,pci or pci,pcieslot4,pcieslot2,pcix. So it won't even look in slot3 for video unless i force it by removing all other cards. And actually, no matter the setting, it would actually default to the AMD monitor even though i have the driver stubbed.

I would really like to get this card into my win7 vm, and i've been researching for about a week and haven't gotten any further than getting it to work but losing my display in the process.



Any help or ideas would be appreciated, and please let me know any other info that is needed.


Thanks,

Jeff













More information about the vfio-users mailing list