Re: [PATCHv4] uio: add generic driver for PCI 2.3 devices

From: Greg KH
Date: Wed Jul 15 2009 - 18:09:18 EST


On Wed, Jul 15, 2009 at 11:13:40PM +0300, Michael S. Tsirkin wrote:
> This adds a generic uio driver that can bind to any PCI device. First
> user will be virtualization where a qemu userspace process needs to give
> guest OS access to the device.
>
> Interrupts are handled using the Interrupt Disable bit in the PCI command
> register and Interrupt Status bit in the PCI status register. All devices
> compliant to PCI 2.3 (circa 2002) and all compliant PCI Express devices should
> support these bits. Driver detects this support, and won't bind to devices
> which do not support the Interrupt Disable Bit in the command register.
>
> It's expected that more features of interest to virtualization will be
> added to this driver in the future. Possibilities are: mmap for device
> resources, MSI/MSI-X, eventfd (to interface with kvm), iommu.
>
> Acked-by: Chris Wright <chrisw@xxxxxxxxxx>
> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
> ---
>
> Hans, Greg, please review and consider for upstream.
>
> This is intended to solve the problem in virtualization that shared
> interrupts do not work with assigned devices. Earlier versions of this
> patch have circulated on kvm@vger.

How does this play with the pci-stub driver that I thought was written
to solve this very problem? Will it conflict?

In fact, it looks like you copied the comments for this driver directly
from the pci-stub driver :)

How about moving that documentation into a place that people will notice
it, like the rest of the UIO documentation?

And right now you are just sending the irq to userspace, what is
userspace supposed to do with it? Do you have a userspace program that
uses this interface today to verify that everything works? If so, care
to provide a pointer to it?

thanks,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/