qemu-e2k/hw/vfio
Joao Martins a31fe5daea vfio/common: Separate vfio-pci ranges
QEMU computes the DMA logging ranges for two predefined ranges: 32-bit
and 64-bit. In the OVMF case, when the dynamic MMIO window is enabled,
QEMU includes in the 64-bit range the RAM regions at the lower part
and vfio-pci device RAM regions which are at the top of the address
space. This range contains a large gap and the size can be bigger than
the dirty tracking HW limits of some devices (MLX5 has a 2^42 limit).

To avoid such large ranges, introduce a new PCI range covering the
vfio-pci device RAM regions, this only if the addresses are above 4GB
to avoid breaking potential SeaBIOS guests.

[ clg: - wrote commit log
       - fixed overlapping 32-bit and PCI ranges when using SeaBIOS ]

Signed-off-by: Joao Martins <joao.m.martins@oracle.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>
Fixes: 5255bbf4ec ("vfio/common: Add device dirty page tracking start/stop")
Signed-off-by: Cédric Le Goater <clg@redhat.com>
2023-09-11 08:34:06 +02:00
..
amd-xgbe.c
ap.c s390x/ap: Wire up the device request notifier interface 2023-07-10 09:52:52 +02:00
calxeda-xgmac.c
ccw.c hw/vfio/ccw: Replace DO_UPCAST(VFIOCCWDevice) by VFIO_CCW() 2023-02-27 09:15:38 +01:00
common.c vfio/common: Separate vfio-pci ranges 2023-09-11 08:34:06 +02:00
display.c *: Add missing includes of qemu/error-report.h 2023-03-22 15:06:57 +00:00
igd.c *: Add missing includes of qemu/error-report.h 2023-03-22 15:06:57 +00:00
Kconfig
meson.build
migration.c vfio/migration: Block VFIO migration with background snapshot 2023-09-11 08:34:06 +02:00
pci-quirks.c hw/vfio/pci-quirks: Sanitize capability pointer 2023-07-10 09:52:52 +02:00
pci.c vfio/pci: Enable AtomicOps completers on root ports 2023-07-10 09:52:52 +02:00
pci.h vfio/pci: Enable AtomicOps completers on root ports 2023-07-10 09:52:52 +02:00
platform.c
spapr.c
trace-events vfio/common: Separate vfio-pci ranges 2023-09-11 08:34:06 +02:00
trace.h