Home
last modified time | relevance | path

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

12

/Linux-v6.1/include/linux/
Dvfio.h33 struct vfio_device { struct
81 int (*init)(struct vfio_device *vdev);
82 void (*release)(struct vfio_device *vdev);
83 int (*open_device)(struct vfio_device *vdev);
84 void (*close_device)(struct vfio_device *vdev);
85 ssize_t (*read)(struct vfio_device *vdev, char __user *buf,
87 ssize_t (*write)(struct vfio_device *vdev, const char __user *buf,
89 long (*ioctl)(struct vfio_device *vdev, unsigned int cmd,
91 int (*mmap)(struct vfio_device *vdev, struct vm_area_struct *vma);
92 void (*request)(struct vfio_device *vdev, unsigned int count);
[all …]
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 …]
/Linux-v6.1/drivers/vfio/
Dvfio.h14 struct vfio_device;
93 struct vfio_device *vdev);
95 struct vfio_device *vdev);
112 bool vfio_assert_device_open(struct vfio_device *device);
115 int vfio_device_assign_container(struct vfio_device *device);
116 void vfio_device_unassign_container(struct vfio_device *device);
120 void vfio_device_container_register(struct vfio_device *device);
121 void vfio_device_container_unregister(struct vfio_device *device);
Dvfio_main.c57 int vfio_assign_device_set(struct vfio_device *device, void *set_id) in vfio_assign_device_set()
107 static void vfio_release_device_set(struct vfio_device *device) in vfio_release_device_set()
130 struct vfio_device *cur; in vfio_device_set_open_count()
264 static void vfio_device_remove_group(struct vfio_device *device) in vfio_device_remove_group()
315 static void vfio_device_put_registration(struct vfio_device *device) in vfio_device_put_registration()
321 static bool vfio_device_try_get_registration(struct vfio_device *device) in vfio_device_try_get_registration()
326 static struct vfio_device *vfio_group_get_device(struct vfio_group *group, in vfio_group_get_device()
329 struct vfio_device *device; in vfio_group_get_device()
349 struct vfio_device *device = in vfio_device_release()
350 container_of(dev, struct vfio_device, device); in vfio_device_release()
[all …]
Dcontainer.c171 void vfio_device_container_register(struct vfio_device *device) in vfio_device_container_register()
181 void vfio_device_container_unregister(struct vfio_device *device) in vfio_device_container_unregister()
514 int vfio_device_assign_container(struct vfio_device *device) in vfio_device_assign_container()
532 void vfio_device_unassign_container(struct vfio_device *device) in vfio_device_unassign_container()
555 int vfio_pin_pages(struct vfio_device *device, dma_addr_t iova, in vfio_pin_pages()
590 void vfio_unpin_pages(struct vfio_device *device, dma_addr_t iova, int npage) in vfio_unpin_pages()
626 int vfio_dma_rw(struct vfio_device *device, dma_addr_t iova, void *data, in vfio_dma_rw()
/Linux-v6.1/drivers/vfio/platform/
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,
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()
Dvfio_platform_common.c221 void vfio_platform_close_device(struct vfio_device *core_vdev) in vfio_platform_close_device()
241 int vfio_platform_open_device(struct vfio_device *core_vdev) in vfio_platform_open_device()
279 long vfio_platform_ioctl(struct vfio_device *core_vdev, in vfio_platform_ioctl()
444 ssize_t vfio_platform_read(struct vfio_device *core_vdev, in vfio_platform_read()
522 ssize_t vfio_platform_write(struct vfio_device *core_vdev, const char __user *buf, in vfio_platform_write()
566 int vfio_platform_mmap(struct vfio_device *core_vdev, struct vm_area_struct *vma) in vfio_platform_mmap()
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()
/Linux-v6.1/drivers/s390/cio/
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()
84 static void vfio_ccw_mdev_release_dev(struct vfio_device *vdev) in vfio_ccw_mdev_release_dev()
124 static int vfio_ccw_mdev_open_device(struct vfio_device *vdev) in vfio_ccw_mdev_open_device()
159 static void vfio_ccw_mdev_close_device(struct vfio_device *vdev) in vfio_ccw_mdev_close_device()
189 static ssize_t vfio_ccw_mdev_read(struct vfio_device *vdev, in vfio_ccw_mdev_read()
241 static ssize_t vfio_ccw_mdev_write(struct vfio_device *vdev, in vfio_ccw_mdev_write()
466 static ssize_t vfio_ccw_mdev_ioctl(struct vfio_device *vdev, in vfio_ccw_mdev_ioctl()
562 static void vfio_ccw_mdev_request(struct vfio_device *vdev, unsigned int count) in vfio_ccw_mdev_request()
Dvfio_ccw_cp.c99 struct vfio_device *vdev, int pa_nr) in page_array_unpin()
130 static int page_array_pin(struct page_array *pa, struct vfio_device *vdev) in page_array_pin()
167 static void page_array_unpin_free(struct page_array *pa, struct vfio_device *vdev) in page_array_unpin_free()
235 static long copy_from_iova(struct vfio_device *vdev, void *to, u64 iova, in copy_from_iova()
468 struct vfio_device *vdev = in ccwchain_handle_ccw()
555 struct vfio_device *vdev = in ccwchain_fetch_direct()
683 struct vfio_device *vdev = in cp_init()
734 struct vfio_device *vdev = in cp_free()
Dvfio_ccw_private.h95 struct vfio_device vdev;
/Linux-v6.1/drivers/gpu/drm/i915/gvt/
Dkvmgt.c107 container_of((vfio_dev), struct intel_vgpu, vfio_device)
133 vfio_unpin_pages(&vgpu->vfio_device, gfn << PAGE_SHIFT, in gvt_unpin_guest_page()
154 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()
661 if (!vgpu->vfio_device.kvm || in intel_vgpu_open_device()
662 vgpu->vfio_device.kvm->mm != current->mm) { in intel_vgpu_open_device()
677 kvm_get_kvm(vgpu->vfio_device.kvm); in intel_vgpu_open_device()
678 kvm_page_track_register_notifier(vgpu->vfio_device.kvm, in intel_vgpu_open_device()
[all …]
Dgvt.h176 struct vfio_device vfio_device; member
732 return vfio_dma_rw(&vgpu->vfio_device, gpa, buf, len, false); in intel_gvt_read_gpa()
750 return vfio_dma_rw(&vgpu->vfio_device, gpa, buf, len, true); in intel_gvt_write_gpa()
/Linux-v6.1/drivers/vfio/pci/mlx5/
Dcmd.h132 int mlx5vf_start_page_tracker(struct vfio_device *vdev,
134 int mlx5vf_stop_page_tracker(struct vfio_device *vdev);
135 int mlx5vf_tracker_read_and_clear(struct vfio_device *vdev, unsigned long iova,
Dmain.c484 mlx5vf_pci_set_device_state(struct vfio_device *vdev, in mlx5vf_pci_set_device_state()
515 static int mlx5vf_pci_get_device_state(struct vfio_device *vdev, in mlx5vf_pci_get_device_state()
551 static int mlx5vf_pci_open_device(struct vfio_device *core_vdev) in mlx5vf_pci_open_device()
568 static void mlx5vf_pci_close_device(struct vfio_device *core_vdev) in mlx5vf_pci_close_device()
588 static int mlx5vf_pci_init_dev(struct vfio_device *core_vdev) in mlx5vf_pci_init_dev()
604 static void mlx5vf_pci_release_dev(struct vfio_device *core_vdev) in mlx5vf_pci_release_dev()
/Linux-v6.1/drivers/vfio/fsl-mc/
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()
Dvfio_fsl_mc_private.h34 struct vfio_device vdev;
/Linux-v6.1/samples/vfio-mdev/
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()
299 static ssize_t mdpy_read(struct vfio_device *vdev, char __user *buf, in mdpy_read()
360 static ssize_t mdpy_write(struct vfio_device *vdev, const char __user *buf, in mdpy_write()
419 static int mdpy_mmap(struct vfio_device *vdev, struct vm_area_struct *vma) in mdpy_mmap()
513 static long mdpy_ioctl(struct vfio_device *vdev, unsigned int cmd, in mdpy_ioctl()
Dmbochs.c172 struct vfio_device vdev;
516 static int mbochs_init_dev(struct vfio_device *vdev) in mbochs_init_dev()
589 static void mbochs_release_dev(struct vfio_device *vdev) in mbochs_release_dev()
608 static ssize_t mbochs_read(struct vfio_device *vdev, char __user *buf, in mbochs_read()
669 static ssize_t mbochs_write(struct vfio_device *vdev, const char __user *buf, in mbochs_write()
796 static int mbochs_mmap(struct vfio_device *vdev, struct vm_area_struct *vma) in mbochs_mmap()
1186 static long mbochs_ioctl(struct vfio_device *vdev, unsigned int cmd, in mbochs_ioctl()
1306 static void mbochs_close_device(struct vfio_device *vdev) in mbochs_close_device()
Dmtty.c129 struct vfio_device vdev;
720 static int mtty_init_dev(struct vfio_device *vdev) in mtty_init_dev()
780 static void mtty_release_dev(struct vfio_device *vdev) in mtty_release_dev()
805 static ssize_t mtty_read(struct vfio_device *vdev, char __user *buf, in mtty_read()
866 static ssize_t mtty_write(struct vfio_device *vdev, const char __user *buf, in mtty_write()
1119 static long mtty_ioctl(struct vfio_device *vdev, unsigned int cmd, in mtty_ioctl()
/Linux-v6.1/drivers/vfio/pci/hisilicon/
Dhisi_acc_vfio_pci.c927 hisi_acc_vfio_pci_set_device_state(struct vfio_device *vdev, in hisi_acc_vfio_pci_set_device_state()
961 hisi_acc_vfio_pci_get_device_state(struct vfio_device *vdev, in hisi_acc_vfio_pci_get_device_state()
1066 static int hisi_acc_pci_rw_access_check(struct vfio_device *core_vdev, in hisi_acc_pci_rw_access_check()
1088 static int hisi_acc_vfio_pci_mmap(struct vfio_device *core_vdev, in hisi_acc_vfio_pci_mmap()
1112 static ssize_t hisi_acc_vfio_pci_write(struct vfio_device *core_vdev, in hisi_acc_vfio_pci_write()
1126 static ssize_t hisi_acc_vfio_pci_read(struct vfio_device *core_vdev, in hisi_acc_vfio_pci_read()
1140 static long hisi_acc_vfio_pci_ioctl(struct vfio_device *core_vdev, unsigned int cmd, in hisi_acc_vfio_pci_ioctl()
1179 static int hisi_acc_vfio_pci_open_device(struct vfio_device *core_vdev) in hisi_acc_vfio_pci_open_device()
1203 static void hisi_acc_vfio_pci_close_device(struct vfio_device *core_vdev) in hisi_acc_vfio_pci_close_device()
1218 static int hisi_acc_vfio_pci_migrn_init_dev(struct vfio_device *core_vdev) in hisi_acc_vfio_pci_migrn_init_dev()
/Linux-v6.1/drivers/vfio/pci/
Dvfio_pci_core.c301 static int vfio_pci_core_pm_entry(struct vfio_device *device, u32 flags, in vfio_pci_core_pm_entry()
322 struct vfio_device *device, u32 flags, in vfio_pci_core_pm_entry_with_wakeup()
378 static int vfio_pci_core_pm_exit(struct vfio_device *device, u32 flags, in vfio_pci_core_pm_exit()
678 void vfio_pci_core_close_device(struct vfio_device *core_vdev) in vfio_pci_core_close_device()
1369 long vfio_pci_core_ioctl(struct vfio_device *core_vdev, unsigned int cmd, in vfio_pci_core_ioctl()
1399 static int vfio_pci_core_feature_token(struct vfio_device *device, u32 flags, in vfio_pci_core_feature_token()
1427 int vfio_pci_core_ioctl_feature(struct vfio_device *device, u32 flags, in vfio_pci_core_ioctl_feature()
1493 ssize_t vfio_pci_core_read(struct vfio_device *core_vdev, char __user *buf, in vfio_pci_core_read()
1506 ssize_t vfio_pci_core_write(struct vfio_device *core_vdev, const char __user *buf, in vfio_pci_core_write()
1730 int vfio_pci_core_mmap(struct vfio_device *core_vdev, struct vm_area_struct *vma) in vfio_pci_core_mmap()
[all …]
/Linux-v6.1/Documentation/driver-api/
Dvfio.rst255 void vfio_init_group_dev(struct vfio_device *device,
258 void vfio_uninit_group_dev(struct vfio_device *device);
259 int vfio_register_group_dev(struct vfio_device *device);
260 void vfio_unregister_group_dev(struct vfio_device *device);
262 The driver should embed the vfio_device in its own structure and call
273 int (*open)(struct vfio_device *vdev);
274 void (*release)(struct vfio_device *vdev);
275 ssize_t (*read)(struct vfio_device *vdev, char __user *buf,
277 ssize_t (*write)(struct vfio_device *vdev,
280 long (*ioctl)(struct vfio_device *vdev, unsigned int cmd,
[all …]
/Linux-v6.1/drivers/s390/crypto/
Dvfio_ap_private.h112 struct vfio_device vdev;

12