On 2012-01-07 18:52, Binarus wrote: > Dear all, > > we are running a fairly complex fax system in a KVM guest. > > The KVM host is Ubuntu 11.04 (64 bit), the guest is Windows 2003 R2 server. > > The fax system needs ISDN hardware, so we have tried to passthrough a PCI > ISDN card (AVM Fritz!card PCI) to the guest. We were partly successful: > > The guest has recognized the hardware which we have passed through and runs > like a charm, including the fax system. > > But for passing through the PCI ISDN card, we had to deactivate two USB > devices on the mainboard, i.e. we had to deactivate their normal linux > drivers and handle the devices over to the PCI stub driver. This is a thing > we surely don't want, so we are searching for a solution which makes this > unnecessary. > > Background: > > The ISDN card is sharing it's interrupt with these two USB devices. As the > KVM website states: PCI passthrough is only supported for devices which > support MSIs IF these devices share an interrupt with other devices; this > restriction does not apply for PCI-E devices. Needless to say that the > Fritz!card is a PCI device and obviously does not support Message Signaled > Interrupts.
There are patches in the queue to enable legacy interrupt sharing for PCI 2.3 compliant devices at least. But I bet the Fritz hardware predates even this (just like my Fritz!Card DSL v2). > > So there are a few questions (if any of them is answered yes, our problem is > solved): > > - Does anybody know of a PCI-E ISDN card (hoping that our fax software will > support it)? > - Does anybody know of a PCI ISDN card which supports MSIs (hoping that it's > compatible to our fax system)? > - The KVM host (Ubuntu 11.04) currently runs a (customized) kernel 2.6.37. In > the meantime, there are newer kernels. Is there a kernel which the issue > mentioned above (PCI passthrough of devices with shared interrupts only if > devices support MSIs) does not apply to? Please forgive that we're asking > instead of testing, but this is a production server which we really are not > allowed to play around with, and we currently don't get hands on a box with > identical hardware. > - Is it possible to run a guest with a mixture of I/O virtualization > technologies, i.e. run the most part of the guest by using KVM with VT-d and > VT-x, but "emulate" the PCI device without using these technologies? I think > that will not be possible, but it's worth asking since performance will not > be the problem: some time ago, we have run the same guest under XEN 3.x > (which had no problem with the PCI-ISDN passthrough) without VT-d or such > with sufficient performance (although the hardware was slow compared to the > current server). Emulating an ISDN adapter could be fairly complicated, specifically if the interface the binary Windows driver expects is not well documented. Even for Linux-on-Linux, i.e. when you can debug both host and guest properly, this will be quite some work (just check the driver code of some popular ISDN adapters Linux supports). And it may turn out to be timing sensitive, e.g. for fax services. Emulation will happen in user space, i.e. in still fairly undeterministic QEMU hands, while device path through mostly happens in kernel space under KVM control. Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
