On Tue, Apr 28, 2009 at 09:47:14AM +0300, Avi Kivity wrote: > Michael S. Tsirkin wrote: >>> That saves us the new API (at the expense of a lot more code, but >>> with added flexibility). >>> >> >> So we'll probably need to rename request_vqs to request_vectors, >> but we probably still need the driver to pass the number of >> vectors it wants to the transport. Right? >> >> > > I don't think so - virtio will provide the number of interrupts it > supports, and virtio-net will tell it to bind ring X to interrupt Y. This does not work for MSIX - in linux, you must map all MSI-X entries to interrupt vectors upfront. So what I see is transports providing something like: struct virtio_interrupt_mapping { int virtqueue; int interrupt; }; map_vqs_to_interrupt(dev, struct virtio_interrupt_mapping *, int nvirtqueues); unmap_vqs(dev); -- MST _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/virtualization