https://bugzilla.kernel.org/show_bug.cgi?id=42636 Summary: PCI passthrough does not work with AMD iommu for PCI device Product: Virtualization Version: unspecified Kernel Version: 3.1 Platform: All OS/Version: Linux Tree: Mainline Status: NEW Severity: normal Priority: P1 Component: kvm AssignedTo: virtualization_kvm@xxxxxxxxxxxxxxxxxxxx ReportedBy: kmueller@xxxxxxxxxxx Regression: No I want to passthrough this PCI deivce to a kvm guest: 05:07.0 Network controller: RaLink RT2800 802.11n PCI Subsystem: Linksys Device 0067 Control: I/O- Mem+ BusMaster- SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Interrupt: pin A routed to IRQ 21 Region 0: Memory at fdae0000 (32-bit, non-prefetchable) [size=64K] Capabilities: [40] Power Management version 3 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME- Unfortunately, I'm always getting an error during virsh start guest: Failed to assign device "hostdev0" : Device or resource busy. qemu-kvm: -device pci-assign,host=05:06.0,id=hostdev0,configfd=20,bus=pci.0,addr=0x4: Device 'pci-assign' could not be initialized. If I'm adding this device (05:06.0) to the guest, too, I'm getting the exactly same error again. Of course, I unloaded the module of this additional device before trying to passthrough it to the guest. lspci -vvs 05:06.0 05:06.0 Ethernet controller: Intel Corporation 82557/8/9/0/1 Ethernet Pro 100 (rev 0c) Subsystem: Intel Corporation EtherExpress PRO/100 S Desktop Adapter Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 64 (2000ns min, 14000ns max), Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 20 Region 0: Memory at fdaff000 (32-bit, non-prefetchable) [size=4K] Region 1: I/O ports at af00 [size=64] Region 2: Memory at fdaa0000 (32-bit, non-prefetchable) [size=128K] [virtual] Expansion ROM at fd900000 [disabled] [size=64K] Capabilities: [dc] Power Management version 2 Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+) Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=2 PME- lspci -vt -[0000:00]-+-00.0 ATI Technologies Inc RD890 PCI to PCI bridge (external gfx0 port B) +-00.2 ATI Technologies Inc Device 5a23 +-02.0-[01]--+-00.0 ATI Technologies Inc NI Turks [AMD Radeon HD 6500] | \-00.1 ATI Technologies Inc Device aa90 +-04.0-[02]----00.0 Device 1b6f:7023 +-09.0-[03]----00.0 Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller +-0a.0-[04]----00.0 Device 1b6f:7023 +-11.0 ATI Technologies Inc SB700/SB800 SATA Controller [AHCI mode] +-12.0 ATI Technologies Inc SB700/SB800 USB OHCI0 Controller +-12.2 ATI Technologies Inc SB700/SB800 USB EHCI Controller +-13.0 ATI Technologies Inc SB700/SB800 USB OHCI0 Controller +-13.2 ATI Technologies Inc SB700/SB800 USB EHCI Controller +-14.0 ATI Technologies Inc SBx00 SMBus Controller +-14.1 ATI Technologies Inc SB700/SB800 IDE Controller +-14.2 ATI Technologies Inc SBx00 Azalia (Intel HDA) +-14.3 ATI Technologies Inc SB700/SB800 LPC host controller +-14.4-[05]--+-06.0 Intel Corporation 82557/8/9/0/1 Ethernet Pro 100 | \-07.0 RaLink RT2800 802.11n PCI +-14.5 ATI Technologies Inc SB700/SB800 USB OHCI2 Controller +-15.0-[06]-- +-16.0 ATI Technologies Inc SB700/SB800 USB OHCI0 Controller +-16.2 ATI Technologies Inc SB700/SB800 USB EHCI Controller +-18.0 Advanced Micro Devices [AMD] Device 1600 +-18.1 Advanced Micro Devices [AMD] Device 1601 +-18.2 Advanced Micro Devices [AMD] Device 1602 +-18.3 Advanced Micro Devices [AMD] Device 1603 +-18.4 Advanced Micro Devices [AMD] Device 1604 \-18.5 Advanced Micro Devices [AMD] Device 1605 dmesg | grep AMD-Vi [ 0.610182] AMD-Vi: device: 00:00.2 cap: 0040 seg: 0 flags: 3e info 1300 [ 0.610184] AMD-Vi: mmio-addr: 00000000fec30000 [ 0.610359] AMD-Vi: DEV_SELECT_RANGE_START devid: 00:00.0 flags: 00 [ 0.610360] AMD-Vi: DEV_RANGE_END devid: 00:00.2 [ 0.610362] AMD-Vi: DEV_SELECT devid: 00:02.0 flags: 00 [ 0.610363] AMD-Vi: DEV_SELECT_RANGE_START devid: 01:00.0 flags: 00 [ 0.610364] AMD-Vi: DEV_RANGE_END devid: 01:00.1 [ 0.610366] AMD-Vi: DEV_SELECT devid: 00:04.0 flags: 00 [ 0.610367] AMD-Vi: DEV_SELECT devid: 02:00.0 flags: 00 [ 0.610368] AMD-Vi: DEV_SELECT devid: 00:09.0 flags: 00 [ 0.610369] AMD-Vi: DEV_SELECT devid: 03:00.0 flags: 00 [ 0.610370] AMD-Vi: DEV_SELECT devid: 00:0a.0 flags: 00 [ 0.610371] AMD-Vi: DEV_SELECT devid: 04:00.0 flags: 00 [ 0.610372] AMD-Vi: DEV_SELECT devid: 00:11.0 flags: 00 [ 0.610373] AMD-Vi: DEV_SELECT_RANGE_START devid: 00:12.0 flags: 00 [ 0.610374] AMD-Vi: DEV_RANGE_END devid: 00:12.2 [ 0.610376] AMD-Vi: DEV_SELECT_RANGE_START devid: 00:13.0 flags: 00 [ 0.610377] AMD-Vi: DEV_RANGE_END devid: 00:13.2 [ 0.610378] AMD-Vi: DEV_SELECT devid: 00:14.0 flags: d7 [ 0.610379] AMD-Vi: DEV_SELECT devid: 00:14.1 flags: 00 [ 0.610380] AMD-Vi: DEV_SELECT devid: 00:14.2 flags: 00 [ 0.610381] AMD-Vi: DEV_SELECT devid: 00:14.3 flags: 00 [ 0.610382] AMD-Vi: DEV_SELECT devid: 00:14.4 flags: 00 [ 0.610384] AMD-Vi: DEV_ALIAS_RANGE devid: 05:00.0 flags: 00 devid_to: 00:14.4 [ 0.610385] AMD-Vi: DEV_RANGE_END devid: 05:1f.7 [ 0.610391] AMD-Vi: DEV_SELECT devid: 00:14.5 flags: 00 [ 0.610392] AMD-Vi: DEV_SELECT devid: 00:15.0 flags: 00 [ 0.610393] AMD-Vi: DEV_SELECT_RANGE_START devid: 06:00.0 flags: 00 [ 0.610394] AMD-Vi: DEV_RANGE_END devid: 06:1f.7 [ 0.610398] AMD-Vi: DEV_SELECT_RANGE_START devid: 00:16.0 flags: 00 [ 0.610399] AMD-Vi: DEV_RANGE_END devid: 00:16.2 [ 0.610531] AMD-Vi: Enabling IOMMU at 0000:00:00.2 cap 0x40 [ 0.669479] AMD-Vi: Lazy IO/TLB flushing enabled kernel is 3.1 kvm is 1.0 board is GA-990XA-UD3 -- Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching the assignee of the bug. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html