/openbmc/qemu/hw/vfio/ |
H A D | container-base.c | 18 int vfio_container_dma_map(VFIOContainerBase *bcontainer, in vfio_container_dma_map() argument 60 return vioc->del_window(bcontainer, section); in vfio_container_del_section_window() 68 if (!bcontainer->dirty_pages_supported) { in vfio_container_set_dirty_page_tracking() 97 assert(bcontainer); in vfio_container_get_iova_ranges() 106 QLIST_REMOVE(bcontainer, next); in vfio_container_instance_finalize() 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() [all …]
|
H A D | common.c | 291 VFIOContainerBase *bcontainer = giommu->bcontainer; in vfio_iommu_map_notify() local 352 VFIOContainerBase *bcontainer = vrdl->bcontainer; in vfio_ram_discard_notify_discard() local 370 VFIOContainerBase *bcontainer = vrdl->bcontainer; in vfio_ram_discard_notify_populate() local 413 vrdl->bcontainer = bcontainer; in vfio_register_ram_discard_listener() 421 g_assert(bcontainer->pgsizes && in vfio_register_ram_discard_listener() 616 giommu->bcontainer = bcontainer; in vfio_listener_region_add() 701 if (!bcontainer->error) { in vfio_listener_region_add() 912 dirty.bcontainer = bcontainer; in vfio_dirty_tracking_init() 1211 VFIOContainerBase *bcontainer = giommu->bcontainer; in vfio_iommu_map_dirty_notify() local 1511 bcontainer->space = space; in vfio_address_space_insert() [all …]
|
H A D | container.c | 66 const VFIOContainerBase *bcontainer = &container->bcontainer; in vfio_dma_unmap_bitmap() local 328 bcontainer->iova_ranges = in vfio_get_info_iova_range() 490 VFIOContainerBase *bcontainer = &container->bcontainer; in vfio_get_iommu_info_migration() local 583 container = container_of(bcontainer, VFIOContainer, bcontainer); in vfio_connect_container() 619 bcontainer = &container->bcontainer; in vfio_connect_container() 646 memory_listener_register(&bcontainer->listener, bcontainer->space->as); in vfio_connect_container() 648 if (bcontainer->error) { in vfio_connect_container() 686 VFIOContainerBase *bcontainer = &container->bcontainer; in vfio_disconnect_container() local 938 bcontainer = &group->container->bcontainer; in vfio_legacy_attach_device() 939 vbasedev->bcontainer = bcontainer; in vfio_legacy_attach_device() [all …]
|
H A D | iommufd.c | 34 container_of(bcontainer, VFIOIOMMUFDContainer, bcontainer); in iommufd_cdev_map() 46 container_of(bcontainer, VFIOIOMMUFDContainer, bcontainer); in iommufd_cdev_unmap() 123 container_of(bcontainer, VFIOIOMMUFDContainer, bcontainer); in iommufd_set_dirty_page_tracking() 402 VFIOContainerBase *bcontainer = &container->bcontainer; in iommufd_cdev_container_destroy() local 423 VFIOContainerBase *bcontainer = &container->bcontainer; in iommufd_cdev_get_info_iova_range() local 504 container = container_of(bcontainer, VFIOIOMMUFDContainer, bcontainer); in iommufd_cdev_attach() 538 bcontainer = &container->bcontainer; in iommufd_cdev_attach() 559 memory_listener_register(&bcontainer->listener, bcontainer->space->as); in iommufd_cdev_attach() 561 if (bcontainer->error) { in iommufd_cdev_attach() 593 vbasedev->bcontainer = bcontainer; in iommufd_cdev_attach() [all …]
|
H A D | spapr.c | 58 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 260 bcontainer->pgsizes); in vfio_spapr_create_window() 334 bcontainer); in vfio_spapr_container_add_section_window() 426 bcontainer); in vfio_spapr_container_del_section_window() 492 if (bcontainer->error) { in vfio_spapr_container_setup() 508 bcontainer->pgsizes = info.ddw.pgsizes; in vfio_spapr_container_setup() [all …]
|
H A D | cpr.c | 28 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 D | helpers.c | 669 GList *l = g_list_last(vdev->bcontainer->iova_ranges); in vfio_device_get_aw_bits()
|
H A D | pci.c | 2514 const VFIOIOMMUClass *vioc = VFIO_IOMMU_GET_CLASS(vbasedev->bcontainer); in vfio_pci_hot_reset()
|
/openbmc/qemu/include/hw/vfio/ |
H A D | vfio-container-base.h | 56 VFIOContainerBase *bcontainer; member 64 VFIOContainerBase *bcontainer; member 73 int vfio_container_dma_map(VFIOContainerBase *bcontainer, 76 int vfio_container_dma_unmap(VFIOContainerBase *bcontainer, 94 assert(bcontainer); in vfio_container_get_page_size_mask() 95 return bcontainer->pgsizes; in vfio_container_get_page_size_mask() 113 int (*dma_map)(const VFIOContainerBase *bcontainer, 116 int (*dma_unmap)(const VFIOContainerBase *bcontainer, 158 bool (*add_window)(VFIOContainerBase *bcontainer, 161 void (*del_window)(VFIOContainerBase *bcontainer, [all …]
|
H A D | vfio-common.h | 81 VFIOContainerBase bcontainer; member 106 VFIOContainerBase bcontainer; member 121 VFIOContainerBase *bcontainer; member 227 VFIOContainerBase *bcontainer); 256 bool vfio_cpr_register_container(VFIOContainerBase *bcontainer, Error **errp); 257 void vfio_cpr_unregister_container(VFIOContainerBase *bcontainer); 297 vfio_devices_all_running_and_mig_active(const VFIOContainerBase *bcontainer); 299 vfio_devices_all_device_dirty_tracking(const VFIOContainerBase *bcontainer); 300 int vfio_devices_query_dirty_bitmap(const VFIOContainerBase *bcontainer, 302 int vfio_get_dirty_bitmap(const VFIOContainerBase *bcontainer, uint64_t iova,
|
/openbmc/qemu/hw/ppc/ |
H A D | spapr_pci_vfio.c | 89 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()
|