qemu/include/hw/vfio
Alexey Kardashevskiy ae0215b2bb vfio-pci: Allow mmap of MSIX BAR
At the moment we unconditionally avoid mapping MSIX data of a BAR and
emulate MSIX table in QEMU. However it is 1) not always necessary as
a platform may provide a paravirt interface for MSIX configuration;
2) can affect the speed of MMIO access by emulating them in QEMU when
frequently accessed registers share same system page with MSIX data,
this is particularly a problem for systems with the page size bigger
than 4KB.

A new capability - VFIO_REGION_INFO_CAP_MSIX_MAPPABLE - has been added
to the kernel [1] which tells the userspace that mapping of the MSIX data
is possible now. This makes use of it so from now on QEMU tries mapping
the entire BAR as a whole and emulate MSIX on top of that.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a32295c612c57990d17fb0f41e7134394b2f35f6

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
2018-03-13 11:17:31 -06:00
..
vfio-amd-xgbe.h hw/vfio/platform: amd-xgbe device 2016-02-19 09:42:29 -07:00
vfio-calxeda-xgmac.h hw/vfio/platform: calxeda xgmac device 2015-06-09 08:17:17 -06:00
vfio-common.h vfio-pci: Allow mmap of MSIX BAR 2018-03-13 11:17:31 -06:00
vfio-platform.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
vfio.h Clean up header guards that don't match their file name 2016-07-12 16:19:16 +02:00