Hi, I'm trying to passthrough legacy PCI ISDN controller to a KVM based virtual machine: <hostdev mode='subsystem' type='pci' managed='yes'> <source> <address domain='0x0000' bus='0x04' slot='0x00' function='0x0'/> </source> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> </hostdev> This only worked once. (The device disappeared from the lspci autoput the host and was listed on the guest.) After shutting down the virtual maschine it refused to start again. Even rebooting the host did not help: Failed to assign irq for "hostdev0": Input/output error Perhaps you are assigning a device that shares an IRQ with another device? lspci -t -[0000:00]-+-00.0 +-19.0 +-1a.0 +-1c.0-[01]----00.0 +-1c.4-[02]----00.0 +-1c.5-[03]----00.0 +-1d.0 +-1e.0-[04]----00.0 +-1f.0 +-1f.2 \-1f.3 lspci -vv |grep IRQ Interrupt: pin A routed to IRQ 44 Interrupt: pin B routed to IRQ 22 Interrupt: pin A routed to IRQ 20 Interrupt: pin B routed to IRQ 48 Interrupt: pin D routed to IRQ 22 Interrupt: pin A routed to IRQ 16 Interrupt: pin A routed to IRQ 16 Interrupt: pin A routed to IRQ 3 Interrupt: pin A routed to IRQ 16 The last line "pin A routed to IRQ 16" belongs to my device: 04:00.0 Communication controller: Tiger Jet Network Inc. Tiger100APC ISDN chipset Subsystem: Device 0054:0001 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- Interrupt: pin A routed to IRQ 16 Region 0: I/O ports at 2000 [size=256] Region 1: Memory at e2600000 (32-bit, non-prefetchable) [size=4K] Capabilities: [40] Power Management version 1 Flags: PMEClk- DSI+ D1- D2+ AuxCurrent=0mA PME(D0+,D1-,D2+,D3hot+,D3cold-) Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME- Note: After rebooting the host lscpi claims that "pin A is routed to interrupt 255" for that device. The invocation to virsh start <vm> changes that to 16. Nearly every document about PCI passthrough claims that unshared interrupts are required. But how can this be achieved? (My BIOS supports interrupt remapping for VT-d. This setting is enabled.) Thanks in advance Michael -- EDV-Serviceteam Annika & Michael Hierweck GbR Egerstraße 53, 44225 Dortmund (Germany) http://www.edv-serviceteam.net _______________________________________________ libvirt-users mailing list libvirt-users@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvirt-users