vfio: Collect container iova range info
commite4a8ae09c538880440ba866174b0015f147c8c9e
authorEric Auger <eric.auger@redhat.com>
Thu, 19 Oct 2023 13:45:09 +0000 (19 15:45 +0200)
committerCédric Le Goater <clg@redhat.com>
Fri, 3 Nov 2023 08:20:31 +0000 (3 09:20 +0100)
tree774d3110afecb2780c817888ef18e5001084b75d
parent51478a8ef5694cbd92b9a3436ec4489464210a8e
vfio: Collect container iova range info

Collect iova range information if VFIO_IOMMU_TYPE1_INFO_CAP_IOVA_RANGE
capability is supported.

This allows to propagate the information though the IOMMU MR
set_iova_ranges() callback so that virtual IOMMUs
get aware of those aperture constraints. This is only done if
the info is available and the number of iova ranges is greater than
0.

A new vfio_get_info_iova_range helper is introduced matching
the coding style of existing vfio_get_info_dma_avail. The
boolean returned value isn't used though. Code is aligned
between both.

Signed-off-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Alex Williamson <alex.williamson@redhat.com>
Tested-by: Yanghang Liu <yanghliu@redhat.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>
hw/vfio/common.c
hw/vfio/container.c
include/hw/vfio/vfio-common.h