[PATCH 0/9] pci-assign: 64bit MMIO + better MSI-X table support

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

 



Patch 1 & 2 here are independent of the rest, but I include them
here to avoid conflicts.  The first patch enables exposing MMIO
BARs as their native width to the guest.  I added a config option
for this with the default to use the existing behavior as I
suspect we may have some latent issues there.  Patch 2 is just
some trivial debug build warning fixes.

The rest of the patches work on improving MSI-X table support.
Particularly, vectors can now be updated by the guest after
MSI-X is enabled to support things like irqbalance for SMP
affinity tuning.  We also now update MSI-X configuration as
new vectors are unmasked, which enables assignment of MSI-X
devices on FreeBSD.  I was able to assign and use an 82576
(PF & VF) on a FreeBSD 9.0 guest with this series.  Hopefully
Shashidhar can report whether this improves the behavior he
as seeing with an 82599.

I wasn't able to get masking to work reliably, so I left that
as is for now.  Perhaps someone has suggestions on getting that
to work.  Thanks,

Alex

---

Alex Williamson (9):
      pci-assign: Update MSI-X config based on table writes
      pci-assign: Use MSIX_PAGE_SIZE
      pci-assign: Allocate entries for all MSI-X vectors
      pci-assign: Proper initialization for MSI-X table
      pci-assign: Only calculate maximum MSI-X vector entries once
      pci-assign: Use struct for MSI-X table
      pci-assign: Update MSI-X MMIO to Memory API
      pci-assign: Fix warnings with DEBUG enabled
      pci-assign: Optionally enable 64bit BARs in guest


 hw/device-assignment.c |  272 ++++++++++++++++++++++++++++++------------------
 hw/device-assignment.h |   12 ++
 2 files changed, 179 insertions(+), 105 deletions(-)
--
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