On Thu, Mar 25, 2010 at 12:09:36AM -0600, Cam Macdonell wrote:
This patch adds a driver for my shared memory PCI device using the uio_pci
interface. The driver has three memory regions. The first memory region is for
device registers for sending interrupts. The second BAR is for receiving MSI-X
interrupts and the third memory region maps the shared memory. The device only
exports the first and third memory regions to userspace.
This driver supports MSI-X and regular pin interrupts. Currently, the number of
MSI vectors is set to 4 which could be increased, but the driver will work with
fewer vectors. If MSI is not available, then regular interrupts will be used.
Some high level questions, sorry if they have been raised in the past:
- Can this device use virtio framework?
This gives us some standards to work off, with feature negotiation,
ability to detect config changes, support for non-PCI
platforms, decent documentation that is easy to extend,
legal id range to use.
You would thus have your driver in uio/uio_virtio_shmem.c