Home
last modified time | relevance | path

Searched refs:hiod (Results 1 – 12 of 12) sorted by relevance

/qemu/include/system/
H A Dhost_iommu_device.h74 * @hiod: pointer to a host IOMMU device instance.
83 bool (*realize)(HostIOMMUDevice *hiod, void *opaque, Error **errp);
90 * @hiod: pointer to a host IOMMU device instance.
100 int (*get_cap)(HostIOMMUDevice *hiod, int cap, Error **errp);
103 * @hiod Host IOMMU device
105 * @hiod: handle to the host IOMMU device
107 GList* (*get_iova_ranges)(HostIOMMUDevice *hiod);
111 * @hiod Host IOMMU device
113 * @hiod: handle to the host IOMMU device
115 uint64_t (*get_page_size_mask)(HostIOMMUDevice *hiod);
[all...]
/qemu/backends/
H A Dhost_iommu_device.c30 HostIOMMUDevice *hiod = HOST_IOMMU_DEVICE(obj); in host_iommu_device_finalize() local
32 g_free(hiod->name); in host_iommu_device_finalize()
H A Diommufd.c370 static int hiod_iommufd_get_cap(HostIOMMUDevice *hiod, int cap, Error **errp)
372 HostIOMMUDeviceCaps *caps = &hiod->caps;
378 return vfio_device_get_aw_bits(hiod->agent);
380 error_setg(errp, "%s: unsupported capability %x", hiod->name, cap);
314 hiod_iommufd_get_cap(HostIOMMUDevice * hiod,int cap,Error ** errp) hiod_iommufd_get_cap() argument
/qemu/hw/vfio/
H A Ddevice.c375 HostIOMMUDevice *hiod; in vfio_device_hiod_create_and_realize() local
381 hiod = HOST_IOMMU_DEVICE(object_new(typename)); in vfio_device_hiod_create_and_realize()
383 if (!HOST_IOMMU_DEVICE_GET_CLASS(hiod)->realize(hiod, vbasedev, errp)) { in vfio_device_hiod_create_and_realize()
384 object_unref(hiod); in vfio_device_hiod_create_and_realize()
388 vbasedev->hiod = hiod; in vfio_device_hiod_create_and_realize()
H A Diommufd.c646 object_unref(vbasedev->hiod); in iommufd_cdev_detach()
836 static bool hiod_iommufd_vfio_realize(HostIOMMUDevice *hiod, void *opaque, in hiod_iommufd_vfio_realize()
841 HostIOMMUDeviceCaps *caps = &hiod->caps; in hiod_iommufd_vfio_get_iova_ranges()
846 hiod->agent = opaque; in hiod_iommufd_vfio_get_iova_ranges()
854 hiod->name = g_strdup(vdev->name); in hiod_iommufd_vfio_get_page_size_mask()
858 idev = HOST_IOMMU_DEVICE_IOMMUFD(hiod); in hiod_iommufd_vfio_class_init()
867 hiod_iommufd_vfio_get_iova_ranges(HostIOMMUDevice *hiod)
869 VFIODevice *vdev = hiod->agent;
876 hiod_iommufd_vfio_get_page_size_mask(HostIOMMUDevice *hiod)
878 VFIODevice *vdev = hiod
813 hiod_iommufd_vfio_realize(HostIOMMUDevice * hiod,void * opaque,Error ** errp) hiod_iommufd_vfio_realize() argument
840 hiod_iommufd_vfio_get_iova_ranges(HostIOMMUDevice * hiod) hiod_iommufd_vfio_get_iova_ranges() argument
849 hiod_iommufd_vfio_get_page_size_mask(HostIOMMUDevice * hiod) hiod_iommufd_vfio_get_page_size_mask() argument
[all...]
H A Dcontainer.c960 object_unref(vbasedev->hiod); in vfio_legacy_detach_device()
1147 static bool hiod_legacy_vfio_realize(HostIOMMUDevice *hiod, void *opaque, in hiod_legacy_vfio_realize()
1152 hiod->name = g_strdup(vdev->name); in hiod_legacy_vfio_realize()
1153 hiod->agent = opaque; in hiod_legacy_vfio_realize()
1158 static int hiod_legacy_vfio_get_cap(HostIOMMUDevice *hiod, int cap, in hiod_legacy_vfio_get_cap()
1163 return vfio_device_get_aw_bits(hiod->agent); in hiod_legacy_vfio_get_cap()
1165 error_setg(errp, "%s: unsupported capability %x", hiod->name, cap); in hiod_legacy_vfio_get_cap()
1171 hiod_legacy_vfio_get_iova_ranges(HostIOMMUDevice *hiod) in hiod_legacy_vfio_get_iova_ranges()
1173 VFIODevice *vdev = hiod->agent; in hiod_legacy_vfio_get_iova_ranges()
1180 hiod_legacy_vfio_get_page_size_mask(HostIOMMUDevice *hiod) in hiod_legacy_vfio_get_page_size_mask()
1146 hiod_legacy_vfio_realize(HostIOMMUDevice * hiod,void * opaque,Error ** errp) hiod_legacy_vfio_realize() argument
1157 hiod_legacy_vfio_get_cap(HostIOMMUDevice * hiod,int cap,Error ** errp) hiod_legacy_vfio_get_cap() argument
1170 hiod_legacy_vfio_get_iova_ranges(HostIOMMUDevice * hiod) hiod_legacy_vfio_get_iova_ranges() argument
1179 hiod_legacy_vfio_get_page_size_mask(HostIOMMUDevice * hiod) hiod_legacy_vfio_get_page_size_mask() argument
[all...]
H A Dpci.c3226 !pci_device_set_iommu_device(pdev, vbasedev->hiod, errp)) { in vfio_realize()
/qemu/hw/virtio/
H A Dvirtio-iommu.c622 HostIOMMUDevice *hiod, Error **errp) in virtio_iommu_set_iommu_device() argument
626 HostIOMMUDeviceClass *hiodc = HOST_IOMMU_DEVICE_GET_CLASS(hiod); in virtio_iommu_set_iommu_device()
630 assert(hiod); in virtio_iommu_set_iommu_device()
639 host_iova_ranges = hiodc->get_iova_ranges(hiod); in virtio_iommu_set_iommu_device()
643 ret = virtio_iommu_set_host_iova_ranges(viommu, hiod->aliased_bus, in virtio_iommu_set_iommu_device()
644 hiod->aliased_devfn, in virtio_iommu_set_iommu_device()
651 uint64_t new_mask = hiodc->get_page_size_mask(hiod); in virtio_iommu_set_iommu_device()
660 trace_virtio_iommu_update_page_size_mask(hiod->name, in virtio_iommu_set_iommu_device()
667 error_prepend(errp, "%s: ", hiod->name); in virtio_iommu_set_iommu_device()
676 object_ref(hiod); in virtio_iommu_set_iommu_device()
[all …]
/qemu/include/hw/vfio/
H A Dvfio-device.h81 HostIOMMUDevice *hiod; member
/qemu/hw/i386/
H A Dintel_iommu.c4328 static bool vtd_check_hiod(IntelIOMMUState *s, HostIOMMUDevice *hiod, in vtd_check_hiod() argument
4331 HostIOMMUDeviceClass *hiodc = HOST_IOMMU_DEVICE_GET_CLASS(hiod); in vtd_check_hiod()
4340 ret = hiodc->get_cap(hiod, HOST_IOMMU_DEVICE_CAP_AW_BITS, errp); in vtd_check_hiod()
4359 HostIOMMUDevice *hiod, Error **errp) in vtd_dev_set_iommu_device() argument
4368 assert(hiod); in vtd_dev_set_iommu_device()
4378 if (!vtd_check_hiod(s, hiod, errp)) { in vtd_dev_set_iommu_device()
4387 object_ref(hiod); in vtd_dev_set_iommu_device()
4388 g_hash_table_insert(s->vtd_host_iommu_dev, new_key, hiod); in vtd_dev_set_iommu_device()
/qemu/hw/pci/
H A Dpci.c2959 bool pci_device_set_iommu_device(PCIDevice *dev, HostIOMMUDevice *hiod, in pci_device_set_iommu_device() argument
2969 hiod->aliased_bus = aliased_bus; in pci_device_set_iommu_device()
2970 hiod->aliased_devfn = aliased_devfn; in pci_device_set_iommu_device()
2973 dev->devfn, hiod, errp); in pci_device_set_iommu_device()
/qemu/include/hw/pci/
H A Dpci.h630 bool pci_device_set_iommu_device(PCIDevice *dev, HostIOMMUDevice *hiod,