mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-12-23 07:58:36 -07:00
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:
|
||
|---|---|---|
| .. | ||
| amd-xgbe.c | ||
| ap.c | ||
| calxeda-xgmac.c | ||
| ccw.c | ||
| common.c | ||
| display.c | ||
| igd.c | ||
| Kconfig | ||
| meson.build | ||
| migration.c | ||
| pci-quirks.c | ||
| pci.c | ||
| pci.h | ||
| platform.c | ||
| spapr.c | ||
| trace-events | ||
| trace.h | ||