search for: mdev_get_virtio_ops

Displaying 20 results from an estimated 48 matches for "mdev_get_virtio_ops".

2019 Nov 05
0
[PATCH V8 5/6] virtio: introduce a mdev based transport
...to_virtio_mdev_device(vdev); + struct mdev_device *mdev = vm_dev->mdev; + + return mdev; +} + +static void virtio_mdev_get(struct virtio_device *vdev, unsigned offset, + void *buf, unsigned len) +{ + struct mdev_device *mdev = vm_get_mdev(vdev); + const struct mdev_virtio_device_ops *ops = mdev_get_virtio_ops(mdev); + + ops->get_config(mdev, offset, buf, len); +} + +static void virtio_mdev_set(struct virtio_device *vdev, unsigned offset, + const void *buf, unsigned len) +{ + struct mdev_device *mdev = vm_get_mdev(vdev); + const struct mdev_virtio_device_ops *ops = mdev_get_virtio_ops(mdev); + +...
2019 Nov 06
0
[PATCH V9 5/6] virtio: introduce a mdev based transport
...to_virtio_mdev_device(vdev); + struct mdev_device *mdev = vm_dev->mdev; + + return mdev; +} + +static void virtio_mdev_get(struct virtio_device *vdev, unsigned offset, + void *buf, unsigned len) +{ + struct mdev_device *mdev = vm_get_mdev(vdev); + const struct mdev_virtio_device_ops *ops = mdev_get_virtio_ops(mdev); + + ops->get_config(mdev, offset, buf, len); +} + +static void virtio_mdev_set(struct virtio_device *vdev, unsigned offset, + const void *buf, unsigned len) +{ + struct mdev_device *mdev = vm_get_mdev(vdev); + const struct mdev_virtio_device_ops *ops = mdev_get_virtio_ops(mdev); + +...
2019 Oct 23
2
[PATCH V5 4/6] mdev: introduce virtio device and its device ops
...rtio_mdev_device_ops *virtio_ops) > +{ > + mdev_set_class(mdev, MDEV_CLASS_ID_VIRTIO); > + mdev->virtio_ops = virtio_ops; > +} > +EXPORT_SYMBOL(mdev_set_virtio_ops); > + > +/* Get the virtio device ops for the mdev device. */ > +const struct virtio_mdev_device_ops * > +mdev_get_virtio_ops(struct mdev_device *mdev) > +{ > + WARN_ON(mdev->class_id != MDEV_CLASS_ID_VIRTIO); > + return mdev->virtio_ops; > +} > +EXPORT_SYMBOL(mdev_get_virtio_ops); > + > struct device *mdev_dev(struct mdev_device *mdev) > { > return &mdev->dev; > diff --git a...
2019 Oct 23
2
[PATCH V5 4/6] mdev: introduce virtio device and its device ops
...rtio_mdev_device_ops *virtio_ops) > +{ > + mdev_set_class(mdev, MDEV_CLASS_ID_VIRTIO); > + mdev->virtio_ops = virtio_ops; > +} > +EXPORT_SYMBOL(mdev_set_virtio_ops); > + > +/* Get the virtio device ops for the mdev device. */ > +const struct virtio_mdev_device_ops * > +mdev_get_virtio_ops(struct mdev_device *mdev) > +{ > + WARN_ON(mdev->class_id != MDEV_CLASS_ID_VIRTIO); > + return mdev->virtio_ops; > +} > +EXPORT_SYMBOL(mdev_get_virtio_ops); > + > struct device *mdev_dev(struct mdev_device *mdev) > { > return &mdev->dev; > diff --git a...
2019 Oct 24
1
[PATCH V5 4/6] mdev: introduce virtio device and its device ops
...(mdev, MDEV_CLASS_ID_VIRTIO); > >> + mdev->virtio_ops = virtio_ops; > >> +} > >> +EXPORT_SYMBOL(mdev_set_virtio_ops); > >> + > >> +/* Get the virtio device ops for the mdev device. */ > >> +const struct virtio_mdev_device_ops * > >> +mdev_get_virtio_ops(struct mdev_device *mdev) > >> +{ > >> + WARN_ON(mdev->class_id != MDEV_CLASS_ID_VIRTIO); > >> + return mdev->virtio_ops; > >> +} > >> +EXPORT_SYMBOL(mdev_get_virtio_ops); > >> + > >> struct device *mdev_dev(struct mdev_device *...
2019 Nov 04
2
[PATCH V7 4/6] mdev: introduce virtio device and its device ops
...ev_virtio_device_ops *virtio_ops) > +{ > + mdev_set_class(mdev, MDEV_CLASS_ID_VIRTIO); > + mdev->virtio_ops = virtio_ops; > +} > +EXPORT_SYMBOL(mdev_set_virtio_ops); > + > +/* Get the virtio device ops for the mdev device. */ > +const struct mdev_virtio_device_ops * > +mdev_get_virtio_ops(struct mdev_device *mdev) > +{ > + WARN_ON(mdev->class_id != MDEV_CLASS_ID_VIRTIO); > + return mdev->virtio_ops; > +} > +EXPORT_SYMBOL(mdev_get_virtio_ops); > + > struct device *mdev_dev(struct mdev_device *mdev) > { > return &mdev->dev; > diff --git a...
2019 Nov 04
2
[PATCH V7 4/6] mdev: introduce virtio device and its device ops
...ev_virtio_device_ops *virtio_ops) > +{ > + mdev_set_class(mdev, MDEV_CLASS_ID_VIRTIO); > + mdev->virtio_ops = virtio_ops; > +} > +EXPORT_SYMBOL(mdev_set_virtio_ops); > + > +/* Get the virtio device ops for the mdev device. */ > +const struct mdev_virtio_device_ops * > +mdev_get_virtio_ops(struct mdev_device *mdev) > +{ > + WARN_ON(mdev->class_id != MDEV_CLASS_ID_VIRTIO); > + return mdev->virtio_ops; > +} > +EXPORT_SYMBOL(mdev_get_virtio_ops); > + > struct device *mdev_dev(struct mdev_device *mdev) > { > return &mdev->dev; > diff --git a...
2019 Nov 05
0
[PATCH V8 4/6] mdev: introduce virtio device and its device ops
...truct mdev_device *mdev, + const struct mdev_virtio_device_ops *virtio_ops) +{ + mdev_set_class(mdev, MDEV_CLASS_ID_VIRTIO); + mdev->virtio_ops = virtio_ops; +} +EXPORT_SYMBOL(mdev_set_virtio_ops); + +/* Get the virtio device ops for the mdev device. */ +const struct mdev_virtio_device_ops * +mdev_get_virtio_ops(struct mdev_device *mdev) +{ + WARN_ON(mdev->class_id != MDEV_CLASS_ID_VIRTIO); + return mdev->virtio_ops; +} +EXPORT_SYMBOL(mdev_get_virtio_ops); + struct device *mdev_dev(struct mdev_device *mdev) { return &mdev->dev; diff --git a/drivers/vfio/mdev/mdev_private.h b/drivers/vfio/m...
2019 Oct 31
2
[PATCH v4] vhost: introduce mdev based hardware backend
...types.h | 8 + 8 files changed, 623 insertions(+) create mode 100644 drivers/vhost/mdev.c diff --git a/drivers/vfio/mdev/mdev_core.c b/drivers/vfio/mdev/mdev_core.c index 22ca589750d8..109dbac01a8f 100644 --- a/drivers/vfio/mdev/mdev_core.c +++ b/drivers/vfio/mdev/mdev_core.c @@ -96,6 +96,26 @@ mdev_get_virtio_ops(struct mdev_device *mdev) } EXPORT_SYMBOL(mdev_get_virtio_ops); +/* Specify the vhost device ops for the mdev device, this + * must be called during create() callback for vhost mdev device. + */ +void mdev_set_vhost_ops(struct mdev_device *mdev, + const struct virtio_mdev_device_ops *vhost_op...
2019 Oct 31
2
[PATCH v4] vhost: introduce mdev based hardware backend
...types.h | 8 + 8 files changed, 623 insertions(+) create mode 100644 drivers/vhost/mdev.c diff --git a/drivers/vfio/mdev/mdev_core.c b/drivers/vfio/mdev/mdev_core.c index 22ca589750d8..109dbac01a8f 100644 --- a/drivers/vfio/mdev/mdev_core.c +++ b/drivers/vfio/mdev/mdev_core.c @@ -96,6 +96,26 @@ mdev_get_virtio_ops(struct mdev_device *mdev) } EXPORT_SYMBOL(mdev_get_virtio_ops); +/* Specify the vhost device ops for the mdev device, this + * must be called during create() callback for vhost mdev device. + */ +void mdev_set_vhost_ops(struct mdev_device *mdev, + const struct virtio_mdev_device_ops *vhost_op...
2019 Oct 23
0
[PATCH V5 4/6] mdev: introduce virtio device and its device ops
...truct mdev_device *mdev, + const struct virtio_mdev_device_ops *virtio_ops) +{ + mdev_set_class(mdev, MDEV_CLASS_ID_VIRTIO); + mdev->virtio_ops = virtio_ops; +} +EXPORT_SYMBOL(mdev_set_virtio_ops); + +/* Get the virtio device ops for the mdev device. */ +const struct virtio_mdev_device_ops * +mdev_get_virtio_ops(struct mdev_device *mdev) +{ + WARN_ON(mdev->class_id != MDEV_CLASS_ID_VIRTIO); + return mdev->virtio_ops; +} +EXPORT_SYMBOL(mdev_get_virtio_ops); + struct device *mdev_dev(struct mdev_device *mdev) { return &mdev->dev; diff --git a/drivers/vfio/mdev/mdev_private.h b/drivers/vfio/m...
2019 Nov 06
0
[PATCH V9 4/6] mdev: introduce virtio device and its device ops
...truct mdev_device *mdev, + const struct mdev_virtio_device_ops *virtio_ops) +{ + mdev_set_class(mdev, MDEV_CLASS_ID_VIRTIO); + mdev->virtio_ops = virtio_ops; +} +EXPORT_SYMBOL(mdev_set_virtio_ops); + +/* Get the virtio device ops for the mdev device. */ +const struct mdev_virtio_device_ops * +mdev_get_virtio_ops(struct mdev_device *mdev) +{ + WARN_ON(mdev->class_id != MDEV_CLASS_ID_VIRTIO); + return mdev->virtio_ops; +} +EXPORT_SYMBOL(mdev_get_virtio_ops); + struct device *mdev_dev(struct mdev_device *mdev) { return &mdev->dev; diff --git a/drivers/vfio/mdev/mdev_private.h b/drivers/vfio/m...
2019 Nov 05
1
[PATCH V8 4/6] mdev: introduce virtio device and its device ops
...ev_virtio_device_ops *virtio_ops) > +{ > + mdev_set_class(mdev, MDEV_CLASS_ID_VIRTIO); > + mdev->virtio_ops = virtio_ops; > +} > +EXPORT_SYMBOL(mdev_set_virtio_ops); > + > +/* Get the virtio device ops for the mdev device. */ > +const struct mdev_virtio_device_ops * > +mdev_get_virtio_ops(struct mdev_device *mdev) > +{ > + WARN_ON(mdev->class_id != MDEV_CLASS_ID_VIRTIO); > + return mdev->virtio_ops; > +} > +EXPORT_SYMBOL(mdev_get_virtio_ops); > + > struct device *mdev_dev(struct mdev_device *mdev) > { > return &mdev->dev; > diff --git a...
2019 Nov 04
0
[PATCH V7 4/6] mdev: introduce virtio device and its device ops
...truct mdev_device *mdev, + const struct mdev_virtio_device_ops *virtio_ops) +{ + mdev_set_class(mdev, MDEV_CLASS_ID_VIRTIO); + mdev->virtio_ops = virtio_ops; +} +EXPORT_SYMBOL(mdev_set_virtio_ops); + +/* Get the virtio device ops for the mdev device. */ +const struct mdev_virtio_device_ops * +mdev_get_virtio_ops(struct mdev_device *mdev) +{ + WARN_ON(mdev->class_id != MDEV_CLASS_ID_VIRTIO); + return mdev->virtio_ops; +} +EXPORT_SYMBOL(mdev_get_virtio_ops); + struct device *mdev_dev(struct mdev_device *mdev) { return &mdev->dev; diff --git a/drivers/vfio/mdev/mdev_private.h b/drivers/vfio/m...
2019 Oct 30
8
[PATCH V6 0/6] mdev based hardware virtio offloading support
Hi all: There are hardwares that can do virtio datapath offloading while having its own control path. This path tries to implement a mdev based unified API to support using kernel virtio driver to drive those devices. This is done by introducing a new mdev transport for virtio (virtio_mdev) and register itself as a new kind of mdev driver. Then it provides a unified way for kernel virtio driver
2019 Nov 05
15
[PATCH V8 0/6] mdev based hardware virtio offloading support
Hi all: There are hardwares that can do virtio datapath offloading while having its own control path. This path tries to implement a mdev based unified API to support using kernel virtio driver to drive those devices. This is done by introducing a new mdev transport for virtio (virtio_mdev) and register itself as a new kind of mdev driver. Then it provides a unified way for kernel virtio driver
2019 Nov 05
15
[PATCH V8 0/6] mdev based hardware virtio offloading support
Hi all: There are hardwares that can do virtio datapath offloading while having its own control path. This path tries to implement a mdev based unified API to support using kernel virtio driver to drive those devices. This is done by introducing a new mdev transport for virtio (virtio_mdev) and register itself as a new kind of mdev driver. Then it provides a unified way for kernel virtio driver
2019 Oct 24
0
[PATCH V5 4/6] mdev: introduce virtio device and its device ops
...t;> +{ >> + mdev_set_class(mdev, MDEV_CLASS_ID_VIRTIO); >> + mdev->virtio_ops = virtio_ops; >> +} >> +EXPORT_SYMBOL(mdev_set_virtio_ops); >> + >> +/* Get the virtio device ops for the mdev device. */ >> +const struct virtio_mdev_device_ops * >> +mdev_get_virtio_ops(struct mdev_device *mdev) >> +{ >> + WARN_ON(mdev->class_id != MDEV_CLASS_ID_VIRTIO); >> + return mdev->virtio_ops; >> +} >> +EXPORT_SYMBOL(mdev_get_virtio_ops); >> + >> struct device *mdev_dev(struct mdev_device *mdev) >> { >> retu...
2019 Oct 23
10
[PATCH V5 0/6] mdev based hardware virtio offloading support
Hi all: There are hardwares that can do virtio datapath offloading while having its own control path. This path tries to implement a mdev based unified API to support using kernel virtio driver to drive those devices. This is done by introducing a new mdev transport for virtio (virtio_mdev) and register itself as a new kind of mdev driver. Then it provides a unified way for kernel virtio driver
2019 Oct 23
10
[PATCH V5 0/6] mdev based hardware virtio offloading support
Hi all: There are hardwares that can do virtio datapath offloading while having its own control path. This path tries to implement a mdev based unified API to support using kernel virtio driver to drive those devices. This is done by introducing a new mdev transport for virtio (virtio_mdev) and register itself as a new kind of mdev driver. Then it provides a unified way for kernel virtio driver