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- <TAbort- <MAbort- >SERR- <PERR- INTx+ Latency: 0, Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 29 Region 0: Memory at f2030000 (32-bit, non-prefetchable) [size=64K] Region 1: Memory at f2040000 (32-bit, non-prefetchable) [size=64K] Capabilities: <access denied> 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- <TAbort- <MAbort- >SERR- <PERR- INTx+ Interrupt: pin A routed to IRQ 11 Region 0: Memory at f2050000 (32-bit, non-prefetchable) [size=64K] Region 1: Memory at f2060000 (32-bit, non-prefetchable) [size=64K] Capabilities: <access denied> Kernel modules: ngene IRQ 11 not working. IRQ 29 working -- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/795866 Title: pci passthrough doesn´t work Status in QEMU: New Bug description: 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- <TAbort- <MAbort- >SERR- <PERR- INTx+ Interrupt: pin A routed to IRQ 11 Region 0: Memory at f2050000 (32-bit, non-prefetchable) [size=64K] Region 1: Memory at f2060000 (32-bit, non-prefetchable) [size=64K] Capabilities: [58] Express (v1) Endpoint, MSI 00 DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset- DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported- RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ MaxPayload 128 bytes, MaxReadReq 128 bytes DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend- LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s, Latency L0 unlimited, L1 unlimited ClockPM- Suprise- LLActRep- BwNot- LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+ ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk- DLActive- BWMgmt- ABWMgmt- Capabilities: [40] Power Management version 2 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- Capabilities: [48] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable- Address: 00000000 Data: 0000 Kernel modules: ngene In this case the kernel-modul (ngene) can not access the device: dmesg | grep ngene [ 69.977900] ngene 0000:00:05.0: PCI INT A -> 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? To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/795866/+subscriptions