qemu/hw/vfio
Zhenzhong Duan 714e9affa8 vfio/iommufd: Add support for iova_ranges and pgsizes
Some vIOMMU such as virtio-iommu use IOVA ranges from host side to
setup reserved ranges for passthrough device, so that guest will not
use an IOVA range beyond host support.

Use an uAPI of IOMMUFD to get IOVA ranges of host side and pass to
vIOMMU just like the legacy backend, if this fails, fallback to
64bit IOVA range.

Also use out_iova_alignment returned from uAPI as pgsizes instead of
qemu_real_host_page_size() as a fallback.

Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Tested-by: Eric Auger <eric.auger@redhat.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>
2023-12-19 19:03:38 +01:00
..
amd-xgbe.c Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00
ap.c vfio/container: Move IBM EEH related functions into spapr_pci_vfio.c 2023-11-06 13:23:23 +01:00
calxeda-xgmac.c Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00
ccw.c vfio/container: Move IBM EEH related functions into spapr_pci_vfio.c 2023-11-06 13:23:23 +01:00
common.c vfio/iommufd: Implement the iommufd backend 2023-12-19 19:03:38 +01:00
container-base.c vfio/iommufd: Relax assert check for iommufd backend 2023-12-19 19:03:38 +01:00
container.c vfio/iommufd: Relax assert check for iommufd backend 2023-12-19 19:03:38 +01:00
display.c hw/vfio: add ramfb migration support 2023-10-18 10:10:49 +02:00
helpers.c vfio/container: Move IBM EEH related functions into spapr_pci_vfio.c 2023-11-06 13:23:23 +01:00
igd.c *: Add missing includes of qemu/error-report.h 2023-03-22 15:06:57 +00:00
iommufd.c vfio/iommufd: Add support for iova_ranges and pgsizes 2023-12-19 19:03:38 +01:00
Kconfig hw/vfio: Move the IGD quirk code to a separate file 2020-02-06 11:55:42 -07:00
meson.build vfio/iommufd: Implement the iommufd backend 2023-12-19 19:03:38 +01:00
migration.c migration: simplify notifiers 2023-10-20 08:51:41 +02:00
pci-quirks.c spapr: Remove support for NVIDIA V100 GPU with NVLink2 2023-09-18 07:25:28 -03:00
pci.c vfio/pci: Fix buffer overrun when writing the VF token 2023-11-03 09:20:31 +01:00
pci.h hw/vfio: add ramfb migration support 2023-10-18 10:10:49 +02:00
platform.c vfio/platform: Use vfio_[attach/detach]_device 2023-10-18 10:10:49 +02:00
spapr.c vfio/spapr: Move hostwin_list into spapr container 2023-12-19 19:03:38 +01:00
trace-events vfio/iommufd: Implement the iommufd backend 2023-12-19 19:03:38 +01:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00