search for: vfio_device_info

Displaying 19 results from an estimated 19 matches for "vfio_device_info".

2019 Sep 03
2
[RFC v3] vhost: introduce mdev based hardware vhost backend
...; + struct vhost_mdev *vdpa; > + unsigned long minsz; > + int ret = 0; > + > + if (!mdev) > + return -EINVAL; > + > + vdpa = mdev_get_drvdata(mdev); > + if (!vdpa) > + return -ENODEV; > + > + switch (cmd) { > + case VFIO_DEVICE_GET_INFO: > + { > + struct vfio_device_info info; > + > + minsz = offsetofend(struct vfio_device_info, num_irqs); > + > + if (copy_from_user(&info, (void __user *)arg, minsz)) { > + ret = -EFAULT; > + break; > + } > + > + if (info.argsz < minsz) { > + ret = -EINVAL; > + break; > + } &gt...
2019 Sep 03
2
[RFC v3] vhost: introduce mdev based hardware vhost backend
...; + struct vhost_mdev *vdpa; > + unsigned long minsz; > + int ret = 0; > + > + if (!mdev) > + return -EINVAL; > + > + vdpa = mdev_get_drvdata(mdev); > + if (!vdpa) > + return -ENODEV; > + > + switch (cmd) { > + case VFIO_DEVICE_GET_INFO: > + { > + struct vfio_device_info info; > + > + minsz = offsetofend(struct vfio_device_info, num_irqs); > + > + if (copy_from_user(&info, (void __user *)arg, minsz)) { > + ret = -EFAULT; > + break; > + } > + > + if (info.argsz < minsz) { > + ret = -EINVAL; > + break; > + } &gt...
2019 Jul 03
4
[RFC v2] vhost: introduce mdev based hardware vhost backend
...>ops_lock); + return 0; +} + +static int vdpa_reset(struct mdev_device *mdev) +{ + struct vdpa_dev *vdpa; + + if (!mdev) + return -EINVAL; + + vdpa = mdev_get_drvdata(mdev); + if (!vdpa) + return -EINVAL; + + return 0; +} + +static int vdpa_get_device_info(struct mdev_device *mdev, + struct vfio_device_info *dev_info) +{ + struct vdpa_dev *vdpa; + + vdpa = mdev_get_drvdata(mdev); + if (!vdpa) + return -ENODEV; + + dev_info->flags = VFIO_DEVICE_FLAGS_VHOST | VFIO_DEVICE_RESET; + dev_info->num_regions = VFIO_VHOST_NUM_REGIONS; + dev_info->num_irqs = VFIO_VHOST_NUM_IRQS; + + return 0; +} + +sta...
2019 Jul 03
4
[RFC v2] vhost: introduce mdev based hardware vhost backend
...>ops_lock); + return 0; +} + +static int vdpa_reset(struct mdev_device *mdev) +{ + struct vdpa_dev *vdpa; + + if (!mdev) + return -EINVAL; + + vdpa = mdev_get_drvdata(mdev); + if (!vdpa) + return -EINVAL; + + return 0; +} + +static int vdpa_get_device_info(struct mdev_device *mdev, + struct vfio_device_info *dev_info) +{ + struct vdpa_dev *vdpa; + + vdpa = mdev_get_drvdata(mdev); + if (!vdpa) + return -ENODEV; + + dev_info->flags = VFIO_DEVICE_FLAGS_VHOST | VFIO_DEVICE_RESET; + dev_info->num_regions = VFIO_VHOST_NUM_REGIONS; + dev_info->num_irqs = VFIO_VHOST_NUM_IRQS; + + return 0; +} + +sta...
2019 Jul 03
0
[RFC v2] vhost: introduce mdev based hardware vhost backend
..., 3 Jul 2019 17:13:39 +0800 Tiwei Bie <tiwei.bie at intel.com> wrote: > diff --git a/include/uapi/linux/vfio.h b/include/uapi/linux/vfio.h > index 8f10748dac79..6c5718ab7eeb 100644 > --- a/include/uapi/linux/vfio.h > +++ b/include/uapi/linux/vfio.h > @@ -201,6 +201,7 @@ struct vfio_device_info { > #define VFIO_DEVICE_FLAGS_AMBA (1 << 3) /* vfio-amba device */ > #define VFIO_DEVICE_FLAGS_CCW (1 << 4) /* vfio-ccw device */ > #define VFIO_DEVICE_FLAGS_AP (1 << 5) /* vfio-ap device */ > +#define VFIO_DEVICE_FLAGS_VHOST (1 << 6) /* vfio-vhost device */...
2019 Sep 02
2
[RFC v3] vhost: introduce mdev based hardware vhost backend
...; + struct vhost_mdev *vdpa; > + unsigned long minsz; > + int ret = 0; > + > + if (!mdev) > + return -EINVAL; > + > + vdpa = mdev_get_drvdata(mdev); > + if (!vdpa) > + return -ENODEV; > + > + switch (cmd) { > + case VFIO_DEVICE_GET_INFO: > + { > + struct vfio_device_info info; > + > + minsz = offsetofend(struct vfio_device_info, num_irqs); > + > + if (copy_from_user(&info, (void __user *)arg, minsz)) { > + ret = -EFAULT; > + break; > + } > + > + if (info.argsz < minsz) { > + ret = -EINVAL; > + break; > + } &gt...
2019 Sep 02
2
[RFC v3] vhost: introduce mdev based hardware vhost backend
...; + struct vhost_mdev *vdpa; > + unsigned long minsz; > + int ret = 0; > + > + if (!mdev) > + return -EINVAL; > + > + vdpa = mdev_get_drvdata(mdev); > + if (!vdpa) > + return -ENODEV; > + > + switch (cmd) { > + case VFIO_DEVICE_GET_INFO: > + { > + struct vfio_device_info info; > + > + minsz = offsetofend(struct vfio_device_info, num_irqs); > + > + if (copy_from_user(&info, (void __user *)arg, minsz)) { > + ret = -EFAULT; > + break; > + } > + > + if (info.argsz < minsz) { > + ret = -EINVAL; > + break; > + } &gt...
2019 Sep 04
0
[RFC v3] vhost: introduce mdev based hardware vhost backend
...; + int ret = 0; > > + > > + if (!mdev) > > + return -EINVAL; > > + > > + vdpa = mdev_get_drvdata(mdev); > > + if (!vdpa) > > + return -ENODEV; > > + > > + switch (cmd) { > > + case VFIO_DEVICE_GET_INFO: > > + { > > + struct vfio_device_info info; > > + > > + minsz = offsetofend(struct vfio_device_info, num_irqs); > > + > > + if (copy_from_user(&info, (void __user *)arg, minsz)) { > > + ret = -EFAULT; > > + break; > > + } > > + > > + if (info.argsz < minsz) { > &gt...
2019 Jul 03
0
[RFC v2] vhost: introduce mdev based hardware vhost backend
...mdev) > +{ > + struct vdpa_dev *vdpa; > + > + if (!mdev) > + return -EINVAL; > + > + vdpa = mdev_get_drvdata(mdev); > + if (!vdpa) > + return -EINVAL; > + > + return 0; > +} > + > +static int vdpa_get_device_info(struct mdev_device *mdev, > + struct vfio_device_info *dev_info) > +{ > + struct vdpa_dev *vdpa; > + > + vdpa = mdev_get_drvdata(mdev); > + if (!vdpa) > + return -ENODEV; > + > + dev_info->flags = VFIO_DEVICE_FLAGS_VHOST | VFIO_DEVICE_RESET; > + dev_info->num_regions = VFIO_VHOST_NUM_REGIONS; > + dev_info->num_i...
2019 Sep 03
0
[RFC v3] vhost: introduce mdev based hardware vhost backend
...; > > + > > +#endif /* _VHOST_MDEV_H */ > > diff --git a/include/uapi/linux/vfio.h b/include/uapi/linux/vfio.h > > index 8f10748dac79..0300d6831cc5 100644 > > --- a/include/uapi/linux/vfio.h > > +++ b/include/uapi/linux/vfio.h > > @@ -201,6 +201,7 @@ struct vfio_device_info { > > #define VFIO_DEVICE_FLAGS_AMBA (1 << 3) /* vfio-amba device */ > > #define VFIO_DEVICE_FLAGS_CCW (1 << 4) /* vfio-ccw device */ > > #define VFIO_DEVICE_FLAGS_AP (1 << 5) /* vfio-ap device */ > > +#define VFIO_DEVICE_FLAGS_VHOST (1 << 6) /...
2013 Jul 03
6
RFC: vfio interface for platform devices (v2)
...ioctl(group, VFIO_GROUP_GET_DEVICE_FD, "/sys/bus/platform/devices/ffe210000.usb")); 2. VFIO_DEVICE_GET_INFO The number of regions corresponds to the regions defined in "reg" and "ranges" in the device tree. Two new flags are added to struct vfio_device_info: #define VFIO_DEVICE_FLAGS_PLATFORM (1 << ?) /* A platform bus device */ #define VFIO_DEVICE_FLAGS_DEVTREE (1 << ?) /* device tree info available */ It is possible that there could be platform bus devices that are not in the device tree, so we use 2 flags to allow for...
2013 Jul 03
6
RFC: vfio interface for platform devices (v2)
...ioctl(group, VFIO_GROUP_GET_DEVICE_FD, "/sys/bus/platform/devices/ffe210000.usb")); 2. VFIO_DEVICE_GET_INFO The number of regions corresponds to the regions defined in "reg" and "ranges" in the device tree. Two new flags are added to struct vfio_device_info: #define VFIO_DEVICE_FLAGS_PLATFORM (1 << ?) /* A platform bus device */ #define VFIO_DEVICE_FLAGS_DEVTREE (1 << ?) /* device tree info available */ It is possible that there could be platform bus devices that are not in the device tree, so we use 2 flags to allow for...
2018 Apr 10
0
[RFC] vhost: introduce mdev based hardware vhost backend
...mdev) > +{ > + struct vdpa_dev *vdpa; > + > + if (!mdev) > + return -EINVAL; > + > + vdpa = mdev_get_drvdata(mdev); > + if (!vdpa) > + return -EINVAL; > + > + return 0; > +} > + > +static int vdpa_get_device_info(struct mdev_device *mdev, > + struct vfio_device_info *dev_info) > +{ > + struct vdpa_dev *vdpa; > + > + vdpa = mdev_get_drvdata(mdev); > + if (!vdpa) > + return -ENODEV; > + > + dev_info->flags = VFIO_DEVICE_FLAGS_PCI; > + dev_info->num_regions = VFIO_PCI_NUM_REGIONS; > + dev_info->num_irqs = vdpa->max_vring...
2018 Apr 02
2
[RFC] vhost: introduce mdev based hardware vhost backend
...>ops_lock); + return 0; +} + +static int vdpa_reset(struct mdev_device *mdev) +{ + struct vdpa_dev *vdpa; + + if (!mdev) + return -EINVAL; + + vdpa = mdev_get_drvdata(mdev); + if (!vdpa) + return -EINVAL; + + return 0; +} + +static int vdpa_get_device_info(struct mdev_device *mdev, + struct vfio_device_info *dev_info) +{ + struct vdpa_dev *vdpa; + + vdpa = mdev_get_drvdata(mdev); + if (!vdpa) + return -ENODEV; + + dev_info->flags = VFIO_DEVICE_FLAGS_PCI; + dev_info->num_regions = VFIO_PCI_NUM_REGIONS; + dev_info->num_irqs = vdpa->max_vrings; + + return 0; +} + +static int vdpa_get_irq_inf...
2018 Apr 02
2
[RFC] vhost: introduce mdev based hardware vhost backend
...>ops_lock); + return 0; +} + +static int vdpa_reset(struct mdev_device *mdev) +{ + struct vdpa_dev *vdpa; + + if (!mdev) + return -EINVAL; + + vdpa = mdev_get_drvdata(mdev); + if (!vdpa) + return -EINVAL; + + return 0; +} + +static int vdpa_get_device_info(struct mdev_device *mdev, + struct vfio_device_info *dev_info) +{ + struct vdpa_dev *vdpa; + + vdpa = mdev_get_drvdata(mdev); + if (!vdpa) + return -ENODEV; + + dev_info->flags = VFIO_DEVICE_FLAGS_PCI; + dev_info->num_regions = VFIO_PCI_NUM_REGIONS; + dev_info->num_irqs = vdpa->max_vrings; + + return 0; +} + +static int vdpa_get_irq_inf...
2013 Jul 04
0
RFC: vfio interface for platform devices (v2)
...> "/sys/bus/platform/devices/ffe210000.usb")); > > 2. VFIO_DEVICE_GET_INFO > > The number of regions corresponds to the regions defined > in "reg" and "ranges" in the device tree. > > Two new flags are added to struct vfio_device_info: > > #define VFIO_DEVICE_FLAGS_PLATFORM (1 << ?) /* A platform bus device */ > #define VFIO_DEVICE_FLAGS_DEVTREE (1 << ?) /* device tree info available */ > > It is possible that there could be platform bus devices > that are not in the device tree, so...
2013 Jul 03
0
RFC: vfio interface for platform devices (v2)
...stent that the returned path doesn't pre-pend /sys in the examples below. > 2. VFIO_DEVICE_GET_INFO > > The number of regions corresponds to the regions defined > in "reg" and "ranges" in the device tree. > > Two new flags are added to struct vfio_device_info: > > #define VFIO_DEVICE_FLAGS_PLATFORM (1 << ?) /* A platform bus device */ > #define VFIO_DEVICE_FLAGS_DEVTREE (1 << ?) /* device tree info available */ > > It is possible that there could be platform bus devices > that are not in the device tree, so...
2017 Apr 07
34
[RFC 0/3] virtio-iommu: a paravirtualized IOMMU
This is the initial proposal for a paravirtualized IOMMU device using virtio transport. It contains a description of the device, a Linux driver, and a toy implementation in kvmtool. With this prototype, you can translate DMA to guest memory from emulated (virtio), or passed-through (VFIO) devices. In its simplest form, implemented here, the device handles map/unmap requests from the guest. Future
2017 Apr 07
34
[RFC 0/3] virtio-iommu: a paravirtualized IOMMU
This is the initial proposal for a paravirtualized IOMMU device using virtio transport. It contains a description of the device, a Linux driver, and a toy implementation in kvmtool. With this prototype, you can translate DMA to guest memory from emulated (virtio), or passed-through (VFIO) devices. In its simplest form, implemented here, the device handles map/unmap requests from the guest. Future