/openbmc/linux/include/linux/ |
H A D | vfio.h | 37 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 D | vfio_pci_core.h | 53 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 D | vfio.h | 20 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 D | iommufd.c | 13 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 D | vfio_main.c | 60 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 D | device_cdev.c | 12 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 D | group.c | 26 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 D | container.c | 164 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 D | vfio_platform_private.h | 46 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 D | vfio_platform.c | 40 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 D | vfio_platform_common.c | 217 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 D | vfio_amba.c | 44 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 D | vfio_dev.c | 63 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 D | dirty.h | 32 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 D | vfio_ccw_ops.c | 35 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 D | vfio_ccw_cp.c | 92 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 D | kvmgt.c | 107 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 D | vfio_fsl_mc.c | 22 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 D | main.c | 11 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 D | private.h | 24 struct vfio_device vdev;
|
/openbmc/linux/Documentation/driver-api/ |
H A D | vfio.rst | 386 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 D | mdpy.c | 95 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 D | cmd.h | 220 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 D | hisi_acc_vfio_pci.c | 1045 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 D | vfio_pci_core.c | 307 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 …]
|