Home
last modified time | relevance | path

Searched refs:vfio_device (Results 1 – 25 of 38) sorted by relevance

12

/openbmc/linux/include/linux/
H A Dvfio.h37 struct vfio_device { struct
103 int (*init)(struct vfio_device *vdev);
104 void (*release)(struct vfio_device *vdev);
105 int (*bind_iommufd)(struct vfio_device *vdev,
107 void (*unbind_iommufd)(struct vfio_device *vdev);
108 int (*attach_ioas)(struct vfio_device *vdev, u32 *pt_id);
109 void (*detach_ioas)(struct vfio_device *vdev);
110 int (*open_device)(struct vfio_device *vdev);
111 void (*close_device)(struct vfio_device *vdev);
112 ssize_t (*read)(struct vfio_device *vdev, char __user *buf,
[all …]
H A Dvfio_pci_core.h53 struct vfio_device vdev;
108 void vfio_pci_core_close_device(struct vfio_device *core_vdev);
109 int vfio_pci_core_init_dev(struct vfio_device *core_vdev);
110 void vfio_pci_core_release_dev(struct vfio_device *core_vdev);
116 long vfio_pci_core_ioctl(struct vfio_device *core_vdev, unsigned int cmd,
118 int vfio_pci_core_ioctl_feature(struct vfio_device *device, u32 flags,
120 ssize_t vfio_pci_core_read(struct vfio_device *core_vdev, char __user *buf,
122 ssize_t vfio_pci_core_write(struct vfio_device *core_vdev, const char __user *buf,
124 int vfio_pci_core_mmap(struct vfio_device *core_vdev, struct vm_area_struct *vma);
125 void vfio_pci_core_request(struct vfio_device *core_vdev, unsigned int count);
[all …]
/openbmc/linux/drivers/vfio/
H A Dvfio.h20 struct vfio_device *device;
30 void vfio_device_put_registration(struct vfio_device *device);
31 bool vfio_device_try_get_registration(struct vfio_device *device);
35 vfio_allocate_device_file(struct vfio_device *device);
99 int vfio_device_block_group(struct vfio_device *device);
100 void vfio_device_unblock_group(struct vfio_device *device);
101 int vfio_device_set_group(struct vfio_device *device,
103 void vfio_device_remove_group(struct vfio_device *device);
104 void vfio_device_group_register(struct vfio_device *device);
105 void vfio_device_group_unregister(struct vfio_device *device);
[all …]
H A Diommufd.c13 bool vfio_iommufd_device_has_compat_ioas(struct vfio_device *vdev, in vfio_iommufd_device_has_compat_ioas()
23 struct vfio_device *vdev = df->device; in vfio_df_iommufd_bind()
31 int vfio_iommufd_compat_attach_ioas(struct vfio_device *vdev, in vfio_iommufd_compat_attach_ioas()
53 struct vfio_device *vdev = df->device; in vfio_df_iommufd_unbind()
64 struct iommufd_ctx *vfio_iommufd_device_ictx(struct vfio_device *vdev) in vfio_iommufd_device_ictx()
72 static int vfio_iommufd_device_id(struct vfio_device *vdev) in vfio_iommufd_device_id()
85 int vfio_iommufd_get_dev_id(struct vfio_device *vdev, struct iommufd_ctx *ictx) in vfio_iommufd_get_dev_id()
113 int vfio_iommufd_physical_bind(struct vfio_device *vdev, in vfio_iommufd_physical_bind()
126 void vfio_iommufd_physical_unbind(struct vfio_device *vdev) in vfio_iommufd_physical_unbind()
139 int vfio_iommufd_physical_attach_ioas(struct vfio_device *vdev, u32 *pt_id) in vfio_iommufd_physical_attach_ioas()
[all …]
H A Dvfio_main.c60 int vfio_assign_device_set(struct vfio_device *device, void *set_id) in vfio_assign_device_set()
110 static void vfio_release_device_set(struct vfio_device *device) in vfio_release_device_set()
133 struct vfio_device *cur; in vfio_device_set_open_count()
144 struct vfio_device *
148 struct vfio_device *cur; in vfio_find_device_in_devset()
163 void vfio_device_put_registration(struct vfio_device *device) in vfio_device_put_registration()
169 bool vfio_device_try_get_registration(struct vfio_device *device) in vfio_device_try_get_registration()
180 struct vfio_device *device = in vfio_device_release()
181 container_of(dev, struct vfio_device, device); in vfio_device_release()
192 static int vfio_init_device(struct vfio_device *device, struct device *dev,
[all …]
H A Ddevice_cdev.c12 void vfio_init_device_cdev(struct vfio_device *device) in vfio_init_device_cdev()
25 struct vfio_device *device = container_of(inode->i_cdev, in vfio_device_fops_cdev_open()
26 struct vfio_device, cdev); in vfio_device_fops_cdev_open()
59 struct vfio_device *device = df->device; in vfio_df_ioctl_bind_iommufd()
136 struct vfio_device *device = df->device; in vfio_df_unbind_iommufd()
158 struct vfio_device *device = df->device; in vfio_df_ioctl_attach_pt()
194 struct vfio_device *device = df->device; in vfio_df_ioctl_detach_pt()
H A Dgroup.c26 static struct vfio_device *vfio_device_get_from_name(struct vfio_group *group, in vfio_device_get_from_name()
29 struct vfio_device *it, *device = ERR_PTR(-ENODEV); in vfio_device_get_from_name()
160 static void vfio_device_group_get_kvm_safe(struct vfio_device *device) in vfio_device_group_get_kvm_safe()
169 struct vfio_device *device = df->device; in vfio_df_group_open()
238 struct vfio_device *device = df->device; in vfio_df_group_close()
253 static struct file *vfio_device_open_file(struct vfio_device *device) in vfio_device_open_file()
309 struct vfio_device *device; in vfio_group_ioctl_get_device_fd()
405 int vfio_device_block_group(struct vfio_device *device) in vfio_device_block_group()
423 void vfio_device_unblock_group(struct vfio_device *device) in vfio_device_unblock_group()
648 struct vfio_device *device; in vfio_group_has_device()
[all …]
H A Dcontainer.c164 void vfio_device_container_register(struct vfio_device *device) in vfio_device_container_register()
174 void vfio_device_container_unregister(struct vfio_device *device) in vfio_device_container_unregister()
531 int vfio_device_container_pin_pages(struct vfio_device *device, in vfio_device_container_pin_pages()
548 void vfio_device_container_unpin_pages(struct vfio_device *device, in vfio_device_container_unpin_pages()
560 int vfio_device_container_dma_rw(struct vfio_device *device, in vfio_device_container_dma_rw()
/openbmc/linux/drivers/vfio/platform/
H A Dvfio_platform_private.h46 struct vfio_device vdev;
84 int vfio_platform_open_device(struct vfio_device *core_vdev);
85 void vfio_platform_close_device(struct vfio_device *core_vdev);
86 long vfio_platform_ioctl(struct vfio_device *core_vdev,
88 ssize_t vfio_platform_read(struct vfio_device *core_vdev,
91 ssize_t vfio_platform_write(struct vfio_device *core_vdev,
94 int vfio_platform_mmap(struct vfio_device *core_vdev,
H A Dvfio_platform.c40 static int vfio_platform_init_dev(struct vfio_device *core_vdev) in vfio_platform_init_dev()
80 static void vfio_platform_release_dev(struct vfio_device *core_vdev) in vfio_platform_release_dev()
H A Dvfio_platform_common.c217 void vfio_platform_close_device(struct vfio_device *core_vdev) in vfio_platform_close_device()
237 int vfio_platform_open_device(struct vfio_device *core_vdev) in vfio_platform_open_device()
275 long vfio_platform_ioctl(struct vfio_device *core_vdev, in vfio_platform_ioctl()
445 ssize_t vfio_platform_read(struct vfio_device *core_vdev, in vfio_platform_read()
528 ssize_t vfio_platform_write(struct vfio_device *core_vdev, const char __user *buf, in vfio_platform_write()
572 int vfio_platform_mmap(struct vfio_device *core_vdev, struct vm_area_struct *vma) in vfio_platform_mmap()
H A Dvfio_amba.c44 static int vfio_amba_init_dev(struct vfio_device *core_vdev) in vfio_amba_init_dev()
91 static void vfio_amba_release_dev(struct vfio_device *core_vdev) in vfio_amba_release_dev()
/openbmc/linux/drivers/vfio/pci/pds/
H A Dvfio_dev.c63 pds_vfio_set_device_state(struct vfio_device *vdev, in pds_vfio_set_device_state()
108 static int pds_vfio_get_device_state(struct vfio_device *vdev, in pds_vfio_get_device_state()
121 static int pds_vfio_get_device_state_size(struct vfio_device *vdev, in pds_vfio_get_device_state_size()
140 static int pds_vfio_init_device(struct vfio_device *vdev) in pds_vfio_init_device()
174 static void pds_vfio_release_device(struct vfio_device *vdev) in pds_vfio_release_device()
185 static int pds_vfio_open_device(struct vfio_device *vdev) in pds_vfio_open_device()
204 static void pds_vfio_close_device(struct vfio_device *vdev) in pds_vfio_close_device()
H A Ddirty.h32 int pds_vfio_dma_logging_report(struct vfio_device *vdev, unsigned long iova,
35 int pds_vfio_dma_logging_start(struct vfio_device *vdev,
38 int pds_vfio_dma_logging_stop(struct vfio_device *vdev);
/openbmc/linux/drivers/s390/cio/
H A Dvfio_ccw_ops.c35 static void vfio_ccw_dma_unmap(struct vfio_device *vdev, u64 iova, u64 length) in vfio_ccw_dma_unmap()
47 static int vfio_ccw_mdev_init_dev(struct vfio_device *vdev) in vfio_ccw_mdev_init_dev()
129 static void vfio_ccw_mdev_release_dev(struct vfio_device *vdev) in vfio_ccw_mdev_release_dev()
165 static int vfio_ccw_mdev_open_device(struct vfio_device *vdev) in vfio_ccw_mdev_open_device()
200 static void vfio_ccw_mdev_close_device(struct vfio_device *vdev) in vfio_ccw_mdev_close_device()
230 static ssize_t vfio_ccw_mdev_read(struct vfio_device *vdev, in vfio_ccw_mdev_read()
282 static ssize_t vfio_ccw_mdev_write(struct vfio_device *vdev, in vfio_ccw_mdev_write()
507 static ssize_t vfio_ccw_mdev_ioctl(struct vfio_device *vdev, in vfio_ccw_mdev_ioctl()
603 static void vfio_ccw_mdev_request(struct vfio_device *vdev, unsigned int count) in vfio_ccw_mdev_request()
H A Dvfio_ccw_cp.c92 struct vfio_device *vdev, int pa_nr, bool unaligned) in page_array_unpin()
131 static int page_array_pin(struct page_array *pa, struct vfio_device *vdev, bool unaligned) in page_array_pin()
169 static void page_array_unpin_free(struct page_array *pa, struct vfio_device *vdev, bool unaligned) in page_array_unpin_free()
422 struct vfio_device *vdev = in ccwchain_handle_ccw()
508 struct vfio_device *vdev = in get_guest_idal()
562 struct vfio_device *vdev = in ccw_count_idaws()
605 struct vfio_device *vdev = in ccwchain_fetch_ccw()
706 struct vfio_device *vdev = in cp_init()
751 struct vfio_device *vdev = in cp_free()
/openbmc/linux/drivers/gpu/drm/i915/gvt/
H A Dkvmgt.c107 container_of((vfio_dev), struct intel_vgpu, vfio_device)
131 vfio_unpin_pages(&vgpu->vfio_device, gfn << PAGE_SHIFT, in gvt_unpin_guest_page()
152 ret = vfio_pin_pages(&vgpu->vfio_device, cur_iova, 1, in gvt_pin_guest_page()
612 static void intel_vgpu_dma_unmap(struct vfio_device *vfio_dev, u64 iova, in intel_vgpu_dma_unmap()
644 if (vgpu->vfio_device.kvm == itr->vfio_device.kvm) { in __kvmgt_vgpu_exist()
654 static int intel_vgpu_open_device(struct vfio_device *vfio_dev) in intel_vgpu_open_device()
664 ret = kvm_page_track_register_notifier(vgpu->vfio_device.kvm, in intel_vgpu_open_device()
692 static void intel_vgpu_close_device(struct vfio_device *vfio_dev) in intel_vgpu_close_device()
702 kvm_page_track_unregister_notifier(vgpu->vfio_device.kvm, in intel_vgpu_close_device()
857 static ssize_t intel_vgpu_read(struct vfio_device *vfio_dev, char __user *buf, in intel_vgpu_read()
[all …]
/openbmc/linux/drivers/vfio/fsl-mc/
H A Dvfio_fsl_mc.c22 static int vfio_fsl_mc_open_device(struct vfio_device *core_vdev) in vfio_fsl_mc_open_device()
97 static void vfio_fsl_mc_close_device(struct vfio_device *core_vdev) in vfio_fsl_mc_close_device()
120 static long vfio_fsl_mc_ioctl(struct vfio_device *core_vdev, in vfio_fsl_mc_ioctl()
240 static ssize_t vfio_fsl_mc_read(struct vfio_device *core_vdev, char __user *buf, in vfio_fsl_mc_read()
318 static ssize_t vfio_fsl_mc_write(struct vfio_device *core_vdev, in vfio_fsl_mc_write()
384 static int vfio_fsl_mc_mmap(struct vfio_device *core_vdev, in vfio_fsl_mc_mmap()
512 static int vfio_fsl_mc_init_dev(struct vfio_device *core_vdev) in vfio_fsl_mc_init_dev()
564 static void vfio_fsl_mc_release_dev(struct vfio_device *core_vdev) in vfio_fsl_mc_release_dev()
/openbmc/linux/drivers/vfio/cdx/
H A Dmain.c11 static int vfio_cdx_open_device(struct vfio_device *core_vdev) in vfio_cdx_open_device()
46 static void vfio_cdx_close_device(struct vfio_device *core_vdev) in vfio_cdx_close_device()
101 static long vfio_cdx_ioctl(struct vfio_device *core_vdev, in vfio_cdx_ioctl()
140 static int vfio_cdx_mmap(struct vfio_device *core_vdev, in vfio_cdx_mmap()
H A Dprivate.h24 struct vfio_device vdev;
/openbmc/linux/Documentation/driver-api/
H A Dvfio.rst386 int vfio_register_group_dev(struct vfio_device *device);
387 int vfio_register_emulated_iommu_dev(struct vfio_device *device);
388 void vfio_unregister_group_dev(struct vfio_device *device);
390 The driver should embed the vfio_device in its own structure and use
393 vfio_device::
396 void vfio_put_device(struct vfio_device *device);
407 int (*init)(struct vfio_device *vdev);
408 void (*release)(struct vfio_device *vdev);
409 int (*bind_iommufd)(struct vfio_device *vdev,
411 void (*unbind_iommufd)(struct vfio_device *vdev);
[all …]
/openbmc/linux/samples/vfio-mdev/
H A Dmdpy.c95 struct vfio_device vdev;
222 static int mdpy_init_dev(struct vfio_device *vdev) in mdpy_init_dev()
279 static void mdpy_release_dev(struct vfio_device *vdev) in mdpy_release_dev()
298 static ssize_t mdpy_read(struct vfio_device *vdev, char __user *buf, in mdpy_read()
359 static ssize_t mdpy_write(struct vfio_device *vdev, const char __user *buf, in mdpy_write()
418 static int mdpy_mmap(struct vfio_device *vdev, struct vm_area_struct *vma) in mdpy_mmap()
512 static long mdpy_ioctl(struct vfio_device *vdev, unsigned int cmd, in mdpy_ioctl()
/openbmc/linux/drivers/vfio/pci/mlx5/
H A Dcmd.h220 int mlx5vf_start_page_tracker(struct vfio_device *vdev,
222 int mlx5vf_stop_page_tracker(struct vfio_device *vdev);
223 int mlx5vf_tracker_read_and_clear(struct vfio_device *vdev, unsigned long iova,
/openbmc/linux/drivers/vfio/pci/hisilicon/
H A Dhisi_acc_vfio_pci.c1045 hisi_acc_vfio_pci_set_device_state(struct vfio_device *vdev, in hisi_acc_vfio_pci_set_device_state()
1079 hisi_acc_vfio_pci_get_data_size(struct vfio_device *vdev, in hisi_acc_vfio_pci_get_data_size()
1087 hisi_acc_vfio_pci_get_device_state(struct vfio_device *vdev, in hisi_acc_vfio_pci_get_device_state()
1192 static int hisi_acc_pci_rw_access_check(struct vfio_device *core_vdev, in hisi_acc_pci_rw_access_check()
1214 static int hisi_acc_vfio_pci_mmap(struct vfio_device *core_vdev, in hisi_acc_vfio_pci_mmap()
1238 static ssize_t hisi_acc_vfio_pci_write(struct vfio_device *core_vdev, in hisi_acc_vfio_pci_write()
1252 static ssize_t hisi_acc_vfio_pci_read(struct vfio_device *core_vdev, in hisi_acc_vfio_pci_read()
1266 static long hisi_acc_vfio_pci_ioctl(struct vfio_device *core_vdev, unsigned int cmd, in hisi_acc_vfio_pci_ioctl()
1305 static int hisi_acc_vfio_pci_open_device(struct vfio_device *core_vdev) in hisi_acc_vfio_pci_open_device()
1329 static void hisi_acc_vfio_pci_close_device(struct vfio_device *core_vdev) in hisi_acc_vfio_pci_close_device()
[all …]
/openbmc/linux/drivers/vfio/pci/
H A Dvfio_pci_core.c307 static int vfio_pci_core_pm_entry(struct vfio_device *device, u32 flags, in vfio_pci_core_pm_entry()
328 struct vfio_device *device, u32 flags, in vfio_pci_core_pm_entry_with_wakeup()
384 static int vfio_pci_core_pm_exit(struct vfio_device *device, u32 flags, in vfio_pci_core_pm_exit()
687 void vfio_pci_core_close_device(struct vfio_device *core_vdev) in vfio_pci_core_close_device()
781 struct vfio_device *vdev;
805 struct vfio_device *vdev; in vfio_pci_fill_devs()
1460 long vfio_pci_core_ioctl(struct vfio_device *core_vdev, unsigned int cmd, in vfio_pci_core_ioctl()
1490 static int vfio_pci_core_feature_token(struct vfio_device *device, u32 flags, in vfio_pci_core_feature_token()
1518 int vfio_pci_core_ioctl_feature(struct vfio_device *device, u32 flags, in vfio_pci_core_ioctl_feature()
1584 ssize_t vfio_pci_core_read(struct vfio_device *core_vdev, char __user *buf, in vfio_pci_core_read()
[all …]

12