qemu/hw/vfio
Yongji Xie 95251725e3 vfio: Add support for mmapping sub-page MMIO BARs
Now the kernel commit 05f0c03fbac1 ("vfio-pci: Allow to mmap
sub-page MMIO BARs if the mmio page is exclusive") allows VFIO
to mmap sub-page BARs. This is the corresponding QEMU patch.
With those patches applied, we could passthrough sub-page BARs
to guest, which can help to improve IO performance for some devices.

In this patch, we expand MemoryRegions of these sub-page
MMIO BARs to PAGE_SIZE in vfio_pci_write_config(), so that
the BARs could be passed to KVM ioctl KVM_SET_USER_MEMORY_REGION
with a valid size. The expanding size will be recovered when
the base address of sub-page BAR is changed and not page aligned
any more in guest. And we also set the priority of these BARs'
memory regions to zero in case of overlap with BARs which share
the same page with sub-page BARs in guest.

Signed-off-by: Yongji Xie <xyjxie@linux.vnet.ibm.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
2016-10-31 09:53:04 -06:00
..
amd-xgbe.c all: Clean up includes 2016-02-23 12:43:05 +00:00
calxeda-xgmac.c hw/vfio: Clean up includes 2016-01-29 15:07:24 +00:00
common.c vfio: Add support for mmapping sub-page MMIO BARs 2016-10-31 09:53:04 -06:00
Makefile.objs vfio: spapr: Add DMA memory preregistering (SPAPR IOMMU v2) 2016-07-05 14:30:54 +10:00
pci-quirks.c vfio/pci: Fix vfio_rtl8168_quirk_data_read address offset 2016-10-17 10:58:02 -06:00
pci.c vfio: Add support for mmapping sub-page MMIO BARs 2016-10-31 09:53:04 -06:00
pci.h vfio/pci: Pass an error object to vfio_pci_igd_opregion_init 2016-10-17 10:57:59 -06:00
platform.c vfio/platform: Pass an error object to vfio_base_device_init 2016-10-17 10:58:01 -06:00
spapr.c memory: Replace skip_dump flag with "ram_device" 2016-10-31 09:53:03 -06:00
trace-events vfio/pci: Conversion to realize 2016-10-17 10:58:01 -06:00