Lines Matching refs:bcontainer
18 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
54 VFIOIOMMUClass *vioc = VFIO_IOMMU_GET_CLASS(bcontainer); in vfio_container_del_section_window()
60 return vioc->del_window(bcontainer, section); in vfio_container_del_section_window()
63 int vfio_container_set_dirty_page_tracking(VFIOContainerBase *bcontainer, in vfio_container_set_dirty_page_tracking() argument
66 VFIOIOMMUClass *vioc = VFIO_IOMMU_GET_CLASS(bcontainer); in vfio_container_set_dirty_page_tracking()
68 if (!bcontainer->dirty_pages_supported) { in vfio_container_set_dirty_page_tracking()
73 return vioc->set_dirty_page_tracking(bcontainer, start, errp); in vfio_container_set_dirty_page_tracking()
76 int vfio_container_query_dirty_bitmap(const VFIOContainerBase *bcontainer, in vfio_container_query_dirty_bitmap() argument
79 VFIOIOMMUClass *vioc = VFIO_IOMMU_GET_CLASS(bcontainer); in vfio_container_query_dirty_bitmap()
82 return vioc->query_dirty_bitmap(bcontainer, vbmap, iova, size, in vfio_container_query_dirty_bitmap()
95 GList *vfio_container_get_iova_ranges(const VFIOContainerBase *bcontainer) in vfio_container_get_iova_ranges() argument
97 assert(bcontainer); in vfio_container_get_iova_ranges()
98 return g_list_copy_deep(bcontainer->iova_ranges, copy_iova_range, NULL); in vfio_container_get_iova_ranges()
103 VFIOContainerBase *bcontainer = VFIO_IOMMU(obj); in vfio_container_instance_finalize() local
106 QLIST_REMOVE(bcontainer, next); in vfio_container_instance_finalize()
108 QLIST_FOREACH_SAFE(giommu, &bcontainer->giommu_list, giommu_next, tmp) { in vfio_container_instance_finalize()
115 g_list_free_full(bcontainer->iova_ranges, g_free); in vfio_container_instance_finalize()
120 VFIOContainerBase *bcontainer = VFIO_IOMMU(obj); in vfio_container_instance_init() local
122 bcontainer->error = NULL; in vfio_container_instance_init()
123 bcontainer->dirty_pages_supported = false; in vfio_container_instance_init()
124 bcontainer->dma_max_mappings = 0; in vfio_container_instance_init()
125 bcontainer->iova_ranges = NULL; in vfio_container_instance_init()
126 QLIST_INIT(&bcontainer->giommu_list); in vfio_container_instance_init()
127 QLIST_INIT(&bcontainer->vrdl_list); in vfio_container_instance_init()