On Thu, Jun 14, 2012 at 12:15:42PM -0600, Alex Williamson wrote: > v3: > - more patches, smaller diff, must be headed in the right direction > - macros for all hardcoded values in msix_init_exclusive_bar > - fold msix_add_config into msix_init allowing less churn to moving > around msix_uninit > - note native endian bug > - split msix_mmio_read move to separate patch > - split changing return value of msix_uninit to separate patch > > Thanks, > > Alex
Thanks, applied all. Will test/push next week. > v2: > - split patch > - rename msix_[un]init_bar() to msix_[un]init_exclusive_bar() > - add the cherry on top to cleaning up PCIDevice naming > > v1: > > msix_init has very little configurability as to how it lays out MSIX > for a device. It claims to resize BARs, but doesn't actually do this > anymore. This patch allows MSIX to be fully specified, which is > necessary both for emulated devices trying to match the physical > layout of a hardware device as well as for any kind of device > assignment. > > New functions msix_init_bar & msix_uninit_bar provide wrappers around > the more detailed functions for drivers that just want a simple MSIX > setup. > > --- > > Alex Williamson (8): > msix: Switch msix_uninit to return void > msix: Allow full specification of MSIX layout > msix: Split PBA into it's own MemoryRegion > msix: Note endian TODO item > msix: Move msix_mmio_read > virtio: Convert to msix_init_exclusive_bar() interface > ivshmem: Convert to msix_init_exclusive_bar() interface > msix: Add simple BAR allocation MSIX setup functions > One minor suggestion for the future: I think it's prettier not to start with an upper case letter after ":". So the commit log would become: msix: add simple BAR allocation MSIX setup functions > > hw/ivshmem.c | 10 +- > hw/msix.c | 271 > +++++++++++++++++++++++++++++++------------------------ > hw/msix.h | 13 ++- > hw/pci.h | 12 ++ > hw/virtio-pci.c | 15 +-- > hw/virtio-pci.h | 1 > 6 files changed, 176 insertions(+), 146 deletions(-)