Home
last modified time | relevance | path

Searched refs:bcontainer (Results 1 – 11 of 11) sorted by relevance

/openbmc/qemu/hw/vfio/
H A Dcontainer-base.c18 int vfio_container_dma_map(VFIOContainerBase *bcontainer, in vfio_container_dma_map() argument
22 VFIOIOMMUClass *vioc = VFIO_IOMMU_GET_CLASS(bcontainer); in vfio_container_dma_map()
25 return vioc->dma_map(bcontainer, iova, size, vaddr, readonly); in vfio_container_dma_map()
28 int vfio_container_dma_unmap(VFIOContainerBase *bcontainer, in vfio_container_dma_unmap() argument
32 VFIOIOMMUClass *vioc = VFIO_IOMMU_GET_CLASS(bcontainer); in vfio_container_dma_unmap()
35 return vioc->dma_unmap(bcontainer, iova, size, iotlb); in vfio_container_dma_unmap()
38 bool vfio_container_add_section_window(VFIOContainerBase *bcontainer, in vfio_container_add_section_window() argument
42 VFIOIOMMUClass *vioc = VFIO_IOMMU_GET_CLASS(bcontainer); in vfio_container_add_section_window()
48 return vioc->add_window(bcontainer, section, errp); in vfio_container_add_section_window()
51 void vfio_container_del_section_window(VFIOContainerBase *bcontainer, in vfio_container_del_section_window() argument
[all …]
H A Dcommon.c147 return vbasedev->bcontainer->space->as != &address_space_memory; in vfio_viommu_preset()
173 static bool vfio_devices_all_dirty_tracking(VFIOContainerBase *bcontainer) in vfio_devices_all_dirty_tracking() argument
181 QLIST_FOREACH(vbasedev, &bcontainer->device_list, container_next) { in vfio_devices_all_dirty_tracking()
197 bool vfio_devices_all_device_dirty_tracking(const VFIOContainerBase *bcontainer) in vfio_devices_all_device_dirty_tracking() argument
201 QLIST_FOREACH(vbasedev, &bcontainer->device_list, container_next) { in vfio_devices_all_device_dirty_tracking()
218 vfio_devices_all_running_and_mig_active(const VFIOContainerBase *bcontainer) in vfio_devices_all_running_and_mig_active() argument
226 QLIST_FOREACH(vbasedev, &bcontainer->device_list, container_next) { in vfio_devices_all_running_and_mig_active()
291 VFIOContainerBase *bcontainer = giommu->bcontainer; in vfio_iommu_map_notify() local
323 ret = vfio_container_dma_map(bcontainer, iova, in vfio_iommu_map_notify()
329 bcontainer, iova, in vfio_iommu_map_notify()
[all …]
H A Dcontainer.c66 const VFIOContainerBase *bcontainer = &container->bcontainer; in vfio_dma_unmap_bitmap() local
94 if (vbmap.size > bcontainer->max_dirty_bitmap_size) { in vfio_dma_unmap_bitmap()
118 static int vfio_legacy_dma_unmap(const VFIOContainerBase *bcontainer, in vfio_legacy_dma_unmap() argument
122 const VFIOContainer *container = container_of(bcontainer, VFIOContainer, in vfio_legacy_dma_unmap()
123 bcontainer); in vfio_legacy_dma_unmap()
134 if (iotlb && vfio_devices_all_running_and_mig_active(bcontainer)) { in vfio_legacy_dma_unmap()
135 if (!vfio_devices_all_device_dirty_tracking(bcontainer) && in vfio_legacy_dma_unmap()
136 bcontainer->dirty_pages_supported) { in vfio_legacy_dma_unmap()
159 unmap.size -= 1ULL << ctz64(bcontainer->pgsizes); in vfio_legacy_dma_unmap()
167 ret = vfio_get_dirty_bitmap(bcontainer, iova, size, in vfio_legacy_dma_unmap()
[all …]
H A Diommufd.c30 static int iommufd_cdev_map(const VFIOContainerBase *bcontainer, hwaddr iova, in iommufd_cdev_map() argument
34 container_of(bcontainer, VFIOIOMMUFDContainer, bcontainer); in iommufd_cdev_map()
41 static int iommufd_cdev_unmap(const VFIOContainerBase *bcontainer, in iommufd_cdev_unmap() argument
46 container_of(bcontainer, VFIOIOMMUFDContainer, bcontainer); in iommufd_cdev_unmap()
119 static int iommufd_set_dirty_page_tracking(const VFIOContainerBase *bcontainer, in iommufd_set_dirty_page_tracking() argument
123 container_of(bcontainer, VFIOIOMMUFDContainer, bcontainer); in iommufd_set_dirty_page_tracking()
150 static int iommufd_query_dirty_bitmap(const VFIOContainerBase *bcontainer, in iommufd_query_dirty_bitmap() argument
154 VFIOIOMMUFDContainer *container = container_of(bcontainer, in iommufd_query_dirty_bitmap()
156 bcontainer); in iommufd_query_dirty_bitmap()
348 container->bcontainer.dirty_pages_supported |= in iommufd_cdev_autodomains_get()
[all …]
H A Dspapr.c58 VFIOContainerBase *bcontainer = &container->bcontainer; in vfio_prereg_listener_region_add() local
101 if (!bcontainer->initialized) { in vfio_prereg_listener_region_add()
102 if (!bcontainer->error) { in vfio_prereg_listener_region_add()
103 error_setg_errno(&bcontainer->error, -ret, in vfio_prereg_listener_region_add()
240 VFIOContainerBase *bcontainer = &container->bcontainer; in vfio_spapr_create_window() local
254 pgmask = bcontainer->pgsizes & (pagesize | (pagesize - 1)); in vfio_spapr_create_window()
260 bcontainer->pgsizes); in vfio_spapr_create_window()
329 vfio_spapr_container_add_section_window(VFIOContainerBase *bcontainer, in vfio_spapr_container_add_section_window() argument
333 VFIOContainer *container = container_of(bcontainer, VFIOContainer, in vfio_spapr_container_add_section_window()
334 bcontainer); in vfio_spapr_container_add_section_window()
[all …]
H A Dcpr.c28 bool vfio_cpr_register_container(VFIOContainerBase *bcontainer, Error **errp) in vfio_cpr_register_container() argument
30 migration_add_notifier_mode(&bcontainer->cpr_reboot_notifier, in vfio_cpr_register_container()
36 void vfio_cpr_unregister_container(VFIOContainerBase *bcontainer) in vfio_cpr_unregister_container() argument
38 migration_remove_notifier(&bcontainer->cpr_reboot_notifier); in vfio_cpr_unregister_container()
H A Dhelpers.c697 GList *l = g_list_last(vdev->bcontainer->iova_ranges); in vfio_device_get_aw_bits()
H A Dpci.c2514 const VFIOIOMMUClass *vioc = VFIO_IOMMU_GET_CLASS(vbasedev->bcontainer); in vfio_pci_hot_reset()
/openbmc/qemu/include/hw/vfio/
H A Dvfio-container-base.h56 VFIOContainerBase *bcontainer; member
64 VFIOContainerBase *bcontainer; member
73 int vfio_container_dma_map(VFIOContainerBase *bcontainer,
76 int vfio_container_dma_unmap(VFIOContainerBase *bcontainer,
79 bool vfio_container_add_section_window(VFIOContainerBase *bcontainer,
82 void vfio_container_del_section_window(VFIOContainerBase *bcontainer,
84 int vfio_container_set_dirty_page_tracking(VFIOContainerBase *bcontainer,
86 int vfio_container_query_dirty_bitmap(const VFIOContainerBase *bcontainer,
89 GList *vfio_container_get_iova_ranges(const VFIOContainerBase *bcontainer);
92 vfio_container_get_page_size_mask(const VFIOContainerBase *bcontainer) in vfio_container_get_page_size_mask() argument
[all …]
H A Dvfio-common.h84 VFIOContainerBase bcontainer; member
109 VFIOContainerBase bcontainer; member
124 VFIOContainerBase *bcontainer; member
230 VFIOContainerBase *bcontainer);
259 bool vfio_cpr_register_container(VFIOContainerBase *bcontainer, Error **errp);
260 void vfio_cpr_unregister_container(VFIOContainerBase *bcontainer);
300 vfio_devices_all_running_and_mig_active(const VFIOContainerBase *bcontainer);
302 vfio_devices_all_device_dirty_tracking(const VFIOContainerBase *bcontainer);
303 int vfio_devices_query_dirty_bitmap(const VFIOContainerBase *bcontainer,
305 int vfio_get_dirty_bitmap(const VFIOContainerBase *bcontainer, uint64_t iova,
/openbmc/qemu/hw/ppc/
H A Dspapr_pci_vfio.c89 VFIOContainerBase *bcontainer = NULL; in vfio_eeh_as_container() local
96 bcontainer = QLIST_FIRST(&space->containers); in vfio_eeh_as_container()
98 if (QLIST_NEXT(bcontainer, next)) { in vfio_eeh_as_container()
103 bcontainer = NULL; in vfio_eeh_as_container()
109 return container_of(bcontainer, VFIOContainer, bcontainer); in vfio_eeh_as_container()