Re: [PATCH] vfio-pci: Quirk RTL8168 NIC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 2014-05-12 at 22:02 +0200, Francois Romieu wrote:
> Alex Williamson <alex.williamson@xxxxxxxxxx> :
> [...]
> > device MSI will be blocked.  The Linux driver doesn't make use of this
> > window, so apparently it's not required to make use of MSI-X.  This
> 
> It does not really use MSI-X (no RSS).

Oh right, I looked for code references to the register but didn't notice
that Linux configures it for MSI, not MSI-X.  In my brief testing I only
saw that Windows generates interrupts on the first vector, so perhaps
not much lost without the extra vectors.  I guess it's this patch that
proves that MSI-X can be configured without this backdoor then.  Do you
have any insight into why this exists?

> > quirk makes the device work with the Windows driver that does use this
> > window for MSI-X, but I certainly cannot recommend this device for
> > assignment (the Windows 7 driver also constantly pokes PCI config
> > space).
> 
> Do you have some offsets for those ?

I believe it was 0x80, which is 0x10 off from the PCIe capability, so
the link control register.  I don't seem to have a log, but I'll
regenerate one tonight to get the exact sequence (the interface is in
use right now).

> > diff --git a/hw/misc/vfio.c b/hw/misc/vfio.c
> > index 9cf5b84..c3d2f7a 100644
> > --- a/hw/misc/vfio.c
> > +++ b/hw/misc/vfio.c
> [...]
> > + * "address latched" indicator.  Bits 12:15 is a mask field, which we're
> > + * going to ignore because we don't really know what it means and the MSI-X
> > + * area always seems to be accessed with a full mask.
> 
> s/seems to/should always/
> 
> Double word accesses requires the full mask. The MSIX area should be accessed
> through double words.

Good to know, I'll amend the comment.  Thanks!

Alex

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux