search for: virtio_mdev_f_version_1

Displaying 20 results from an estimated 61 matches for "virtio_mdev_f_version_1".

2019 Oct 18
2
[PATCH V4 5/6] virtio: introduce a mdev based transport
...lease_dev; > + vm_dev->vdev.config = &virtio_mdev_config_ops; > + vm_dev->mdev = mdev; > + INIT_LIST_HEAD(&vm_dev->virtqueues); > + spin_lock_init(&vm_dev->lock); > + > + vm_dev->version = ops->get_mdev_features(mdev); > + if (vm_dev->version != VIRTIO_MDEV_F_VERSION_1) { > + dev_err(dev, "VIRTIO_MDEV_F_VERSION_1 is mandatory\n"); > + return -ENXIO; > + } Hm, so how is that mdev features interface supposed to work? If VIRTIO_MDEV_F_VERSION_1 is a bit, I would expect this code to test for its presence, and not for identity. What will happen...
2019 Oct 18
2
[PATCH V4 5/6] virtio: introduce a mdev based transport
...lease_dev; > + vm_dev->vdev.config = &virtio_mdev_config_ops; > + vm_dev->mdev = mdev; > + INIT_LIST_HEAD(&vm_dev->virtqueues); > + spin_lock_init(&vm_dev->lock); > + > + vm_dev->version = ops->get_mdev_features(mdev); > + if (vm_dev->version != VIRTIO_MDEV_F_VERSION_1) { > + dev_err(dev, "VIRTIO_MDEV_F_VERSION_1 is mandatory\n"); > + return -ENXIO; > + } Hm, so how is that mdev features interface supposed to work? If VIRTIO_MDEV_F_VERSION_1 is a bit, I would expect this code to test for its presence, and not for identity. What will happen...
2019 Oct 21
1
[PATCH V4 5/6] virtio: introduce a mdev based transport
..._mdev_config_ops; > >> + vm_dev->mdev = mdev; > >> + INIT_LIST_HEAD(&vm_dev->virtqueues); > >> + spin_lock_init(&vm_dev->lock); > >> + > >> + vm_dev->version = ops->get_mdev_features(mdev); > >> + if (vm_dev->version != VIRTIO_MDEV_F_VERSION_1) { > >> + dev_err(dev, "VIRTIO_MDEV_F_VERSION_1 is mandatory\n"); > >> + return -ENXIO; > >> + } > > Hm, so how is that mdev features interface supposed to work? If > > VIRTIO_MDEV_F_VERSION_1 is a bit, I would expect this code to test for > &...
2019 Nov 05
1
[PATCH V8 4/6] mdev: introduce virtio device and its device ops
...t.com> > + */ > +#ifndef MDEV_VIRTIO_OPS_H > +#define MDEV_VIRTIO_OPS_H > + > +#include <linux/interrupt.h> > +#include <linux/mdev.h> > +#include <uapi/linux/vhost.h> > + > +#define VIRTIO_MDEV_DEVICE_API_STRING "virtio-mdev" > +#define VIRTIO_MDEV_F_VERSION_1 0x1 This entire concept of VIRTIO_MDEV_F_VERSION_1 is gone now, right? Let's remove it here and below. Thanks, Alex > + > +struct virtio_mdev_callback { > + irqreturn_t (*callback)(void *data); > + void *private; > +}; > + > +/** > + * struct mdev_virtio_device_ops -...
2019 Oct 21
0
[PATCH V4 5/6] virtio: introduce a mdev based transport
...->vdev.config = &virtio_mdev_config_ops; >> + vm_dev->mdev = mdev; >> + INIT_LIST_HEAD(&vm_dev->virtqueues); >> + spin_lock_init(&vm_dev->lock); >> + >> + vm_dev->version = ops->get_mdev_features(mdev); >> + if (vm_dev->version != VIRTIO_MDEV_F_VERSION_1) { >> + dev_err(dev, "VIRTIO_MDEV_F_VERSION_1 is mandatory\n"); >> + return -ENXIO; >> + } > Hm, so how is that mdev features interface supposed to work? If > VIRTIO_MDEV_F_VERSION_1 is a bit, I would expect this code to test for > its presence, and not for id...
2019 Nov 04
2
[PATCH V7 4/6] mdev: introduce virtio device and its device ops
...t.com> > + */ > +#ifndef MDEV_VIRTIO_OPS_H > +#define MDEV_VIRTIO_OPS_H > + > +#include <linux/interrupt.h> > +#include <linux/mdev.h> > +#include <uapi/linux/vhost.h> > + > +#define VIRTIO_MDEV_DEVICE_API_STRING "virtio-mdev" > +#define VIRTIO_MDEV_F_VERSION_1 0x1 > + > +struct virtio_mdev_callback { > + irqreturn_t (*callback)(void *data); > + void *private; > +}; > + > +/** > + * struct mdev_virtio_device_ops - Structure to be registered for each > + * mdev device to register the device for virtio/vhost drivers. > + * >...
2019 Nov 04
2
[PATCH V7 4/6] mdev: introduce virtio device and its device ops
...t.com> > + */ > +#ifndef MDEV_VIRTIO_OPS_H > +#define MDEV_VIRTIO_OPS_H > + > +#include <linux/interrupt.h> > +#include <linux/mdev.h> > +#include <uapi/linux/vhost.h> > + > +#define VIRTIO_MDEV_DEVICE_API_STRING "virtio-mdev" > +#define VIRTIO_MDEV_F_VERSION_1 0x1 > + > +struct virtio_mdev_callback { > + irqreturn_t (*callback)(void *data); > + void *private; > +}; > + > +/** > + * struct mdev_virtio_device_ops - Structure to be registered for each > + * mdev device to register the device for virtio/vhost drivers. > + * >...
2019 Oct 23
2
[PATCH v2] vhost: introduce mdev based hardware backend
...> vhost-mdev does not support MQ. The mdev is a MDEV_CLASS_ID_VHOST mdev device. When the parent is being developed, it should know the currently supported features of vhost-mdev. > And this allows old kenrel to work with new > parent drivers. The new drivers should provide things like VIRTIO_MDEV_F_VERSION_1 to be compatible with the old kernels. When VIRTIO_MDEV_F_VERSION_1 is provided/negotiated, the behaviours should be consistent. > > So basically we have three choices here: > > 1) Implement what vhost-user did and implement a generic vhost-mdev (but may > still have lots of devic...
2019 Oct 23
2
[PATCH v2] vhost: introduce mdev based hardware backend
...> vhost-mdev does not support MQ. The mdev is a MDEV_CLASS_ID_VHOST mdev device. When the parent is being developed, it should know the currently supported features of vhost-mdev. > And this allows old kenrel to work with new > parent drivers. The new drivers should provide things like VIRTIO_MDEV_F_VERSION_1 to be compatible with the old kernels. When VIRTIO_MDEV_F_VERSION_1 is provided/negotiated, the behaviours should be consistent. > > So basically we have three choices here: > > 1) Implement what vhost-user did and implement a generic vhost-mdev (but may > still have lots of devic...
2019 Oct 18
2
[PATCH V4 4/6] mdev: introduce virtio device and its device ops
...gt; > + */ > +#ifndef _LINUX_VIRTIO_MDEV_H > +#define _LINUX_VIRTIO_MDEV_H > + > +#include <linux/interrupt.h> > +#include <linux/mdev.h> > +#include <uapi/linux/vhost.h> > + > +#define VIRTIO_MDEV_DEVICE_API_STRING "virtio-mdev" > +#define VIRTIO_MDEV_F_VERSION_1 0x1 > + > +struct virtio_mdev_callback { > + irqreturn_t (*callback)(void *data); > + void *private; > +}; > + > +/** > + * struct vfio_mdev_device_ops - Structure to be registered for each > + * mdev device to register the device to virtio-mdev module. > + * > + *...
2019 Oct 18
2
[PATCH V4 4/6] mdev: introduce virtio device and its device ops
...gt; > + */ > +#ifndef _LINUX_VIRTIO_MDEV_H > +#define _LINUX_VIRTIO_MDEV_H > + > +#include <linux/interrupt.h> > +#include <linux/mdev.h> > +#include <uapi/linux/vhost.h> > + > +#define VIRTIO_MDEV_DEVICE_API_STRING "virtio-mdev" > +#define VIRTIO_MDEV_F_VERSION_1 0x1 > + > +struct virtio_mdev_callback { > + irqreturn_t (*callback)(void *data); > + void *private; > +}; > + > +/** > + * struct vfio_mdev_device_ops - Structure to be registered for each > + * mdev device to register the device to virtio-mdev module. > + * > + *...
2019 Oct 23
2
[PATCH v2] vhost: introduce mdev based hardware backend
...dev should filter out the unsupported features. But in the meantime, I think drivers also shouldn't expose unsupported features. > > > > > > > And this allows old kenrel to work with new > > > parent drivers. > > The new drivers should provide things like VIRTIO_MDEV_F_VERSION_1 > > to be compatible with the old kernels. When VIRTIO_MDEV_F_VERSION_1 > > is provided/negotiated, the behaviours should be consistent. > > > To be clear, I didn't mean a change in virtio-mdev API, I meant: > > 1) old vhost-mdev kernel driver that filters out MQ &...
2019 Oct 23
2
[PATCH v2] vhost: introduce mdev based hardware backend
...dev should filter out the unsupported features. But in the meantime, I think drivers also shouldn't expose unsupported features. > > > > > > > And this allows old kenrel to work with new > > > parent drivers. > > The new drivers should provide things like VIRTIO_MDEV_F_VERSION_1 > > to be compatible with the old kernels. When VIRTIO_MDEV_F_VERSION_1 > > is provided/negotiated, the behaviours should be consistent. > > > To be clear, I didn't mean a change in virtio-mdev API, I meant: > > 1) old vhost-mdev kernel driver that filters out MQ &...
2019 Nov 05
1
[PATCH V7 4/6] mdev: introduce virtio device and its device ops
...ne MDEV_VIRTIO_OPS_H > >> + > >> +#include <linux/interrupt.h> > >> +#include <linux/mdev.h> > >> +#include <uapi/linux/vhost.h> > >> + > >> +#define VIRTIO_MDEV_DEVICE_API_STRING "virtio-mdev" > >> +#define VIRTIO_MDEV_F_VERSION_1 0x1 > >> + > >> +struct virtio_mdev_callback { > >> + irqreturn_t (*callback)(void *data); > >> + void *private; > >> +}; > >> + > >> +/** > >> + * struct mdev_virtio_device_ops - Structure to be registered for each > >&g...
2019 Nov 05
0
[PATCH V7 4/6] mdev: introduce virtio device and its device ops
...f MDEV_VIRTIO_OPS_H >> +#define MDEV_VIRTIO_OPS_H >> + >> +#include <linux/interrupt.h> >> +#include <linux/mdev.h> >> +#include <uapi/linux/vhost.h> >> + >> +#define VIRTIO_MDEV_DEVICE_API_STRING "virtio-mdev" >> +#define VIRTIO_MDEV_F_VERSION_1 0x1 >> + >> +struct virtio_mdev_callback { >> + irqreturn_t (*callback)(void *data); >> + void *private; >> +}; >> + >> +/** >> + * struct mdev_virtio_device_ops - Structure to be registered for each >> + * mdev device to register the device for...
2019 Oct 23
2
[PATCH V5 4/6] mdev: introduce virtio device and its device ops
...gt; > + */ > +#ifndef _LINUX_VIRTIO_MDEV_H > +#define _LINUX_VIRTIO_MDEV_H > + > +#include <linux/interrupt.h> > +#include <linux/mdev.h> > +#include <uapi/linux/vhost.h> > + > +#define VIRTIO_MDEV_DEVICE_API_STRING "virtio-mdev" > +#define VIRTIO_MDEV_F_VERSION_1 0x1 > + > +struct virtio_mdev_callback { > + irqreturn_t (*callback)(void *data); > + void *private; > +}; > + > +/** > + * struct vfio_mdev_device_ops - Structure to be registered for each > + * mdev device to register the device for virtio/vhost drivers. > + * > +...
2019 Oct 23
2
[PATCH V5 4/6] mdev: introduce virtio device and its device ops
...gt; > + */ > +#ifndef _LINUX_VIRTIO_MDEV_H > +#define _LINUX_VIRTIO_MDEV_H > + > +#include <linux/interrupt.h> > +#include <linux/mdev.h> > +#include <uapi/linux/vhost.h> > + > +#define VIRTIO_MDEV_DEVICE_API_STRING "virtio-mdev" > +#define VIRTIO_MDEV_F_VERSION_1 0x1 > + > +struct virtio_mdev_callback { > + irqreturn_t (*callback)(void *data); > + void *private; > +}; > + > +/** > + * struct vfio_mdev_device_ops - Structure to be registered for each > + * mdev device to register the device for virtio/vhost drivers. > + * > +...
2019 Oct 18
1
[PATCH V4 4/6] mdev: introduce virtio device and its device ops
...Get the feature of virtio mdev device > >> + * @mdev: mediated device > >> + * Returns the mdev features (API) support by > >> + * the device. > > What kind of 'features' are supposed to go in there? Are these bits, > > like you defined for VIRTIO_MDEV_F_VERSION_1 above? > > > It's the API or mdev features other than virtio features. It could be > used by driver to determine the capability of the mdev device. Besides > _F_VERSION_1, we may add dirty page tracking etc which means we need new > device ops. Ok, so that's suppos...
2019 Oct 24
1
[PATCH V5 4/6] mdev: introduce virtio device and its device ops
..._LINUX_VIRTIO_MDEV_H > >> + > >> +#include <linux/interrupt.h> > >> +#include <linux/mdev.h> > >> +#include <uapi/linux/vhost.h> > >> + > >> +#define VIRTIO_MDEV_DEVICE_API_STRING "virtio-mdev" > >> +#define VIRTIO_MDEV_F_VERSION_1 0x1 > >> + > >> +struct virtio_mdev_callback { > >> + irqreturn_t (*callback)(void *data); > >> + void *private; > >> +}; > >> + > >> +/** > >> + * struct vfio_mdev_device_ops - Structure to be registered for each > >>...
2019 Oct 23
0
[PATCH v2] vhost: introduce mdev based hardware backend
...When the parent > is being developed, it should know the currently supported features > of vhost-mdev. How can parent know MQ is not supported by vhost-mdev? > >> And this allows old kenrel to work with new >> parent drivers. > The new drivers should provide things like VIRTIO_MDEV_F_VERSION_1 > to be compatible with the old kernels. When VIRTIO_MDEV_F_VERSION_1 > is provided/negotiated, the behaviours should be consistent. To be clear, I didn't mean a change in virtio-mdev API, I meant: 1) old vhost-mdev kernel driver that filters out MQ 2) new parent driver that support M...