On Fri, Mar 22, 2013 at 11:32:33AM +1030, Rusty Russell wrote:
> "Michael S. Tsirkin" <m...@redhat.com> writes:
> > On Thu, Mar 21, 2013 at 06:59:34PM +1030, Rusty Russell wrote:
> >> Differences:
> >> 1) Uses 4 pci capabilities to demark common, irq, notify and dev-specific 
> >> areas.
> >> 2) Guest sets queue size, using host-provided maximum.
> >> 3) Guest sets queue alignment, rather than ABI-defined 4096.
> >> 4) More than 32 feature bits (a lot more!).
> ...
> >> +/* Constants for MSI-X */
> >> +/* Use first vector for configuration changes, second and the rest for
> >> + * virtqueues Thus, we need at least 2 vectors for MSI. */
> >> +enum {
> >> +  VP_MSIX_CONFIG_VECTOR = 0,
> >> +  VP_MSIX_VQ_VECTOR = 1,
> >> +};
> >
> > In the future, I have a plan to allow one vector only.  To make this
> > work without exits for data path VQ, we could make hypervisor set a bit
> > in guest memory whenever it wants to signal a configuration change.
> > Guest will execute a config write that will make the hypervisor clear
> > this register.
> >
> > I guess this can wait, we are putting too stuff much into this
> > new layout patchset already.
> 
> Yeah, trying not to boil the ocean... and I'm not sure that reinventing
> MSI-X manually is a good idea anyway.

I'm not sure this is reinventing MSI-X but I agree let's do things
gradually.

> >> +static void vp_reset(struct virtio_device *vdev)
> >> +{
> >> +  struct virtio_pci_device *vp_dev = to_vp_device(vdev);
> >> +  /* 0 status means a reset. */
> >> +  iowrite8(0, &vp_dev->common->device_status);
> >> +  /* Flush out the status write, and flush in device writes,
> >> +   * including MSi-X interrupts, if any. */
> >
> > MSI-X ?
> 
> Thanks, fixed.
> 
> Cheers,
> Rusty.
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

Reply via email to