/linux-5.19.10/include/linux/ |
D | vfio.h | 32 struct vfio_device { struct 72 int (*open_device)(struct vfio_device *vdev); argument 73 void (*close_device)(struct vfio_device *vdev); 74 ssize_t (*read)(struct vfio_device *vdev, char __user *buf, 76 ssize_t (*write)(struct vfio_device *vdev, const char __user *buf, 78 long (*ioctl)(struct vfio_device *vdev, unsigned int cmd, 80 int (*mmap)(struct vfio_device *vdev, struct vm_area_struct *vma); 81 void (*request)(struct vfio_device *vdev, unsigned int count); 82 int (*match)(struct vfio_device *vdev, char *buf); 83 int (*device_feature)(struct vfio_device *device, u32 flags, [all …]
|
D | vfio_pci_core.h | 99 struct vfio_device vdev; 223 void vfio_pci_core_close_device(struct vfio_device *core_vdev); 233 long vfio_pci_core_ioctl(struct vfio_device *core_vdev, unsigned int cmd, 235 int vfio_pci_core_ioctl_feature(struct vfio_device *device, u32 flags, 237 ssize_t vfio_pci_core_read(struct vfio_device *core_vdev, char __user *buf, 239 ssize_t vfio_pci_core_write(struct vfio_device *core_vdev, const char __user *buf, 241 int vfio_pci_core_mmap(struct vfio_device *core_vdev, struct vm_area_struct *vma); 242 void vfio_pci_core_request(struct vfio_device *core_vdev, unsigned int count); 243 int vfio_pci_core_match(struct vfio_device *core_vdev, char *buf);
|
/linux-5.19.10/drivers/vfio/ |
D | vfio.c | 94 int vfio_assign_device_set(struct vfio_device *device, void *set_id) in vfio_assign_device_set() 144 static void vfio_release_device_set(struct vfio_device *device) in vfio_release_device_set() 451 static void vfio_device_put(struct vfio_device *device) in vfio_device_put() 457 static bool vfio_device_try_get(struct vfio_device *device) in vfio_device_try_get() 462 static struct vfio_device *vfio_group_get_device(struct vfio_group *group, in vfio_group_get_device() 465 struct vfio_device *device; in vfio_group_get_device() 481 void vfio_init_group_dev(struct vfio_device *device, struct device *dev, in vfio_init_group_dev() 490 void vfio_uninit_group_dev(struct vfio_device *device) in vfio_uninit_group_dev() 571 static int __vfio_register_dev(struct vfio_device *device, in __vfio_register_dev() 574 struct vfio_device *existing_device; in __vfio_register_dev() [all …]
|
/linux-5.19.10/drivers/gpu/drm/i915/gvt/ |
D | kvmgt.c | 109 container_of((vfio_dev), struct intel_vgpu, vfio_device) 244 ret = vfio_unpin_pages(&vgpu->vfio_device, &cur_gfn, 1); in gvt_unpin_guest_page() 267 ret = vfio_pin_pages(&vgpu->vfio_device, &cur_gfn, 1, in gvt_pin_guest_page() 773 if (vgpu->vfio_device.kvm == itr->vfio_device.kvm) { in __kvmgt_vgpu_exist() 783 static int intel_vgpu_open_device(struct vfio_device *vfio_dev) in intel_vgpu_open_device() 805 if (!vgpu->vfio_device.kvm || in intel_vgpu_open_device() 806 vgpu->vfio_device.kvm->mm != current->mm) { in intel_vgpu_open_device() 811 kvm_get_kvm(vgpu->vfio_device.kvm); in intel_vgpu_open_device() 824 kvm_page_track_register_notifier(vgpu->vfio_device.kvm, in intel_vgpu_open_device() 853 static void intel_vgpu_close_device(struct vfio_device *vfio_dev) in intel_vgpu_close_device() [all …]
|
D | gvt.h | 214 struct vfio_device vfio_device; member 731 return vfio_dma_rw(&vgpu->vfio_device, gpa, buf, len, false); in intel_gvt_read_gpa() 749 return vfio_dma_rw(&vgpu->vfio_device, gpa, buf, len, true); in intel_gvt_write_gpa()
|
D | gtt.c | 54 struct kvm *kvm = vgpu->vfio_device.kvm; in intel_gvt_is_valid_gfn() 1188 pfn = gfn_to_pfn(vgpu->vfio_device.kvm, ops->get_pfn(entry)); in is_2MB_gtt_possible()
|
/linux-5.19.10/drivers/s390/cio/ |
D | vfio_ccw_cp.c | 102 static int pfn_array_pin(struct pfn_array *pa, struct vfio_device *vdev) in pfn_array_pin() 126 static void pfn_array_unpin_free(struct pfn_array *pa, struct vfio_device *vdev) in pfn_array_unpin_free() 194 static long copy_from_iova(struct vfio_device *vdev, void *to, u64 iova, in copy_from_iova() 426 struct vfio_device *vdev = in ccwchain_handle_ccw() 513 struct vfio_device *vdev = in ccwchain_fetch_direct() 641 struct vfio_device *vdev = in cp_init() 692 struct vfio_device *vdev = in cp_free()
|
D | vfio_ccw_ops.c | 177 static int vfio_ccw_mdev_open_device(struct vfio_device *vdev) in vfio_ccw_mdev_open_device() 211 static void vfio_ccw_mdev_close_device(struct vfio_device *vdev) in vfio_ccw_mdev_close_device() 249 static ssize_t vfio_ccw_mdev_read(struct vfio_device *vdev, in vfio_ccw_mdev_read() 301 static ssize_t vfio_ccw_mdev_write(struct vfio_device *vdev, in vfio_ccw_mdev_write() 526 static ssize_t vfio_ccw_mdev_ioctl(struct vfio_device *vdev, in vfio_ccw_mdev_ioctl() 622 static void vfio_ccw_mdev_request(struct vfio_device *vdev, unsigned int count) in vfio_ccw_mdev_request()
|
D | vfio_ccw_private.h | 95 struct vfio_device vdev;
|
/linux-5.19.10/drivers/vfio/fsl-mc/ |
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()
|
D | vfio_fsl_mc_private.h | 34 struct vfio_device vdev;
|
/linux-5.19.10/drivers/vfio/platform/ |
D | vfio_platform_common.c | 221 static void vfio_platform_close_device(struct vfio_device *core_vdev) in vfio_platform_close_device() 240 static int vfio_platform_open_device(struct vfio_device *core_vdev) in vfio_platform_open_device() 277 static long vfio_platform_ioctl(struct vfio_device *core_vdev, in vfio_platform_ioctl() 441 static ssize_t vfio_platform_read(struct vfio_device *core_vdev, in vfio_platform_read() 518 static ssize_t vfio_platform_write(struct vfio_device *core_vdev, const char __user *buf, in vfio_platform_write() 561 static int vfio_platform_mmap(struct vfio_device *core_vdev, struct vm_area_struct *vma) in vfio_platform_mmap()
|
D | vfio_platform_private.h | 46 struct vfio_device vdev;
|
/linux-5.19.10/drivers/vfio/pci/hisilicon/ |
D | hisi_acc_vfio_pci.c | 925 hisi_acc_vfio_pci_set_device_state(struct vfio_device *vdev, in hisi_acc_vfio_pci_set_device_state() 959 hisi_acc_vfio_pci_get_device_state(struct vfio_device *vdev, in hisi_acc_vfio_pci_get_device_state() 1064 static int hisi_acc_pci_rw_access_check(struct vfio_device *core_vdev, in hisi_acc_pci_rw_access_check() 1086 static int hisi_acc_vfio_pci_mmap(struct vfio_device *core_vdev, in hisi_acc_vfio_pci_mmap() 1110 static ssize_t hisi_acc_vfio_pci_write(struct vfio_device *core_vdev, in hisi_acc_vfio_pci_write() 1124 static ssize_t hisi_acc_vfio_pci_read(struct vfio_device *core_vdev, in hisi_acc_vfio_pci_read() 1138 static long hisi_acc_vfio_pci_ioctl(struct vfio_device *core_vdev, unsigned int cmd, in hisi_acc_vfio_pci_ioctl() 1177 static int hisi_acc_vfio_pci_open_device(struct vfio_device *core_vdev) in hisi_acc_vfio_pci_open_device() 1201 static void hisi_acc_vfio_pci_close_device(struct vfio_device *core_vdev) in hisi_acc_vfio_pci_close_device()
|
/linux-5.19.10/drivers/s390/crypto/ |
D | vfio_ap_private.h | 92 struct vfio_device vdev;
|
D | vfio_ap_ops.c | 1379 static int vfio_ap_mdev_open_device(struct vfio_device *vdev) in vfio_ap_mdev_open_device() 1406 static void vfio_ap_mdev_close_device(struct vfio_device *vdev) in vfio_ap_mdev_close_device() 1436 static ssize_t vfio_ap_mdev_ioctl(struct vfio_device *vdev, in vfio_ap_mdev_ioctl()
|
/linux-5.19.10/samples/vfio-mdev/ |
D | mdpy.c | 92 struct vfio_device vdev; 291 static ssize_t mdpy_read(struct vfio_device *vdev, char __user *buf, in mdpy_read() 352 static ssize_t mdpy_write(struct vfio_device *vdev, const char __user *buf, in mdpy_write() 411 static int mdpy_mmap(struct vfio_device *vdev, struct vm_area_struct *vma) in mdpy_mmap() 505 static long mdpy_ioctl(struct vfio_device *vdev, unsigned int cmd, in mdpy_ioctl()
|
D | mbochs.c | 164 struct vfio_device vdev; 583 static ssize_t mbochs_read(struct vfio_device *vdev, char __user *buf, in mbochs_read() 644 static ssize_t mbochs_write(struct vfio_device *vdev, const char __user *buf, in mbochs_write() 771 static int mbochs_mmap(struct vfio_device *vdev, struct vm_area_struct *vma) in mbochs_mmap() 1161 static long mbochs_ioctl(struct vfio_device *vdev, unsigned int cmd, in mbochs_ioctl() 1281 static void mbochs_close_device(struct vfio_device *vdev) in mbochs_close_device()
|
D | mtty.c | 130 struct vfio_device vdev; 780 static ssize_t mtty_read(struct vfio_device *vdev, char __user *buf, in mtty_read() 841 static ssize_t mtty_write(struct vfio_device *vdev, const char __user *buf, in mtty_write() 1094 static long mtty_ioctl(struct vfio_device *vdev, unsigned int cmd, in mtty_ioctl()
|
/linux-5.19.10/Documentation/driver-api/ |
D | vfio.rst | 255 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 …]
|
D | vfio-mediated-device.rst | 123 The mediated bus driver's probe function should create a vfio_device on top of 265 int vfio_pin_pages(struct vfio_device *device, unsigned long *user_pfn, 268 int vfio_unpin_pages(struct vfio_device *device, unsigned long *user_pfn,
|
/linux-5.19.10/drivers/vfio/pci/mlx5/ |
D | main.c | 484 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()
|
/linux-5.19.10/drivers/vfio/pci/ |
D | vfio_pci_core.c | 467 void vfio_pci_core_close_device(struct vfio_device *core_vdev) in vfio_pci_core_close_device() 666 long vfio_pci_core_ioctl(struct vfio_device *core_vdev, unsigned int cmd, in vfio_pci_core_ioctl() 1164 static int vfio_pci_core_feature_token(struct vfio_device *device, u32 flags, in vfio_pci_core_feature_token() 1192 int vfio_pci_core_ioctl_feature(struct vfio_device *device, u32 flags, in vfio_pci_core_ioctl_feature() 1235 ssize_t vfio_pci_core_read(struct vfio_device *core_vdev, char __user *buf, in vfio_pci_core_read() 1248 ssize_t vfio_pci_core_write(struct vfio_device *core_vdev, const char __user *buf, in vfio_pci_core_write() 1468 int vfio_pci_core_mmap(struct vfio_device *core_vdev, struct vm_area_struct *vma) in vfio_pci_core_mmap() 1540 void vfio_pci_core_request(struct vfio_device *core_vdev, unsigned int count) in vfio_pci_core_request() 1651 int vfio_pci_core_match(struct vfio_device *core_vdev, char *buf) in vfio_pci_core_match() 2046 struct vfio_device *cur; in vfio_pci_is_device_in_set()
|
D | vfio_pci.c | 101 static int vfio_pci_open_device(struct vfio_device *core_vdev) in vfio_pci_open_device()
|