performance: 0.799 debug: 0.788 semantic: 0.779 permissions: 0.776 vnc: 0.774 graphic: 0.757 other: 0.747 PID: 0.735 device: 0.729 KVM: 0.721 files: 0.701 boot: 0.681 socket: 0.680 network: 0.665 pci passthrough doesn´t work Hi all, I have some problems passing through a pci device to kvm guest. First I have to say that I´m using the latest kvm-kernel und qemu-kvm from git-tree (Date 11.06.2011). I want´t to passthrough this device to guest: lspci-output: 02:00.0 Multimedia video controller: Micronas Semiconductor Holding AG Device 0720 (rev 01) So at first I have bind the driver to psi-stub: modprobe -r kvm-intel modprobe -r kvm echo "18c3 0720" > /sys/bus/pci/drivers/pci-stub/new_id echo 0000:02:00.0 > /sys/bus/pci/devices/0000:02:00.0/driver/unbind echo 0000:02:00.0 > /sys/bus/pci/drivers/pci-stub/bind modprobe kvm modprobe kvm-intel Then I have assigned device to guest: -device pci-assign,host=02:00.0 When I start the guest. The device succesfully get´s an msi-IRQ on host-system: cat /proc/interrupt output: 32: 0 0 0 0 PCI-MSI-edge kvm_assigned_msi_device On guest device is visibel: lspci output: 00:04.0 Multimedia video controller: Micronas Semiconductor Holding AG Device 0720 (rev 01) Sometimes the device (on guest) get´s an IRQ between 10-16: 00:05.0 Multimedia video controller: Micronas Semiconductor Holding AG Device 0720 (rev 01) Subsystem: Micronas Semiconductor Holding AG Device dd00 Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+ Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- Link[LNKA] -> GSI 11 (level, high) -> IRQ 11 [ 69.977909] ngene: Found Linux4Media cineS2 DVB-S2 Twin Tuner (v5) [ 69.978962] ngene 0000:00:05.0: setting latency timer to 64 [ 69.979118] ngene: Device version 1 [ 69.979129] ngene 0000:00:05.0: firmware: requesting ngene_18.fw [ 69.980884] ngene: Loading firmware file ngene_18.fw. [ 71.981052] ngene: Command timeout cmd=01 prev=00 [ 71.981205] host_to_ngene (c000): 01 00 00 00 00 00 00 00 [ 71.981457] ngene_to_host (c100): 00 00 00 00 00 00 00 00 [ 71.981704] dev->hosttongene (ec902000): 01 00 00 00 00 00 00 00 [ 71.981963] dev->ngenetohost (ec902100): 00 00 00 00 00 00 00 00 [ 73.985111] ngene: Command timeout cmd=02 prev=00 [ 73.985415] host_to_ngene (c000): 02 04 00 d0 00 04 00 00 [ 73.985684] ngene_to_host (c100): 00 00 00 00 00 00 00 00 [ 73.985931] dev->hosttongene (ec902000): 02 04 00 d0 00 04 00 00 [ 73.986191] dev->ngenetohost (ec902100): 00 00 00 00 00 00 00 00 [ 73.986568] ngene 0000:00:05.0: PCI INT A disabled [ 73.986584] ngene: probe of 0000:00:05.0 failed with error -1 Sometimes the device (on guest) gets an msi-irq f. e. IRQ 29. Then kernel-modul (ngene) can succesfully load the driver and all works fine. Short to say: HOST GUEST STATUS MSI-IRQ MSI-IRQ ALL FINE MSI-IRQ IOAPIC-IRQ DOESN´t WORK with modinfo I had a look at the kernel-modul if there is way to force msi, but without success. But I think IRQ between (10-16) should also work because when I load the kernel-modul on host with IRQ (10-16) it works. (Device only get´s an MSI-IRQ If I start the vm to passthrough) Do anyone know where can be the problem? Here is the dmesg - output of second device which is currently working on guest with MSI-IRQ 29: [ 2.137175] ngene 0000:00:04.0: PCI INT A -> Link[LNKD] -> GSI 11 (level, high) -> IRQ 11 [ 2.137183] ngene: Found Linux4Media cineS2 DVB-S2 Twin Tuner (v5) [ 2.140506] ngene 0000:00:04.0: setting latency timer to 64 [ 2.140679] ngene: Device version 1 [ 2.140693] ngene 0000:00:04.0: firmware: requesting ngene_18.fw [ 2.214848] ngene: Loading firmware file ngene_18.fw. [ 2.249797] ngene 0000:00:04.0: irq 29 for MSI/MSI-X lspci - output on guest: 00:04.0 Multimedia video controller: Micronas Semiconductor Holding AG Device 0720 (rev 01) Subsystem: Micronas Semiconductor Holding AG Device dd00 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+ Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- Kernel driver in use: ngene Kernel modules: ngene 00:05.0 Multimedia video controller: Micronas Semiconductor Holding AG Device 0720 (rev 01) Subsystem: Micronas Semiconductor Holding AG Device dd00 Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+ Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- Kernel modules: ngene IRQ 11 not working. IRQ 29 working Triaging old bug tickets ... can you still reproduce this problem with the latest version of QEMU? Or can we close this ticket nowadays? [Expired for QEMU because there has been no activity for 60 days.]