diff options
author | Zhenzhong Duan <zhenzhong.duan@intel.com> | 2023-11-02 15:12:26 +0800 |
---|---|---|
committer | Cédric Le Goater <clg@redhat.com> | 2023-11-06 13:23:23 +0100 |
commit | a2347c60a86a7c2a227ebab186a195d16e1e3901 (patch) | |
tree | be3df047546f36345ac7807e7ffc41213c71b5ce /include | |
parent | a17879f0e2e82c5e85440eb1c3e8a3eeef469a3e (diff) | |
download | qemu-a2347c60a86a7c2a227ebab186a195d16e1e3901.zip qemu-a2347c60a86a7c2a227ebab186a195d16e1e3901.tar.gz qemu-a2347c60a86a7c2a227ebab186a195d16e1e3901.tar.bz2 |
vfio/common: Move vfio_host_win_add/del into spapr.c
Only spapr supports a customed host window list, other vfio driver
assume 64bit host window. So remove the check in listener callback
and move vfio_host_win_add/del into spapr.c and make it static.
With the check removed, we still need to do the same check for
VFIO_SPAPR_TCE_IOMMU which allows a single host window range
[dma32_window_start, dma32_window_size). Move vfio_find_hostwin
into spapr.c and do same check in vfio_container_add_section_window
instead.
When mapping a ram device section, if it's unaligned with
hostwin->iova_pgsizes, this mapping is bypassed. With hostwin
moved into spapr, we changed to check container->pgsizes.
Suggested-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/hw/vfio/vfio-common.h | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/include/hw/vfio/vfio-common.h b/include/hw/vfio/vfio-common.h index 8784898..a4a22ac 100644 --- a/include/hw/vfio/vfio-common.h +++ b/include/hw/vfio/vfio-common.h @@ -207,11 +207,6 @@ typedef struct { hwaddr pages; } VFIOBitmap; -void vfio_host_win_add(VFIOContainer *container, - hwaddr min_iova, hwaddr max_iova, - uint64_t iova_pgsizes); -int vfio_host_win_del(VFIOContainer *container, hwaddr min_iova, - hwaddr max_iova); VFIOAddressSpace *vfio_get_address_space(AddressSpace *as); void vfio_put_address_space(VFIOAddressSpace *space); bool vfio_devices_all_running_and_saving(VFIOContainer *container); |