vhost-vdpa: introduce uAPI to set group ASID
Follows the vDPA support for associating ASID to a specific virtqueue group. This patch adds a uAPI to support setting them from userspace. Signed-off-by: Jason Wang <jasowang@redhat.com> Signed-off-by: Gautam Dawar <gdawar@xilinx.com> Message-Id: <20220330180436.24644-15-gdawar@xilinx.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
2d1fcb7758
commit
84d7c8fd3a
2 changed files with 15 additions and 0 deletions
|
@ -473,6 +473,14 @@ static long vhost_vdpa_vring_ioctl(struct vhost_vdpa *v, unsigned int cmd,
|
||||||
else if (copy_to_user(argp, &s, sizeof(s)))
|
else if (copy_to_user(argp, &s, sizeof(s)))
|
||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
return 0;
|
return 0;
|
||||||
|
case VHOST_VDPA_SET_GROUP_ASID:
|
||||||
|
if (copy_from_user(&s, argp, sizeof(s)))
|
||||||
|
return -EFAULT;
|
||||||
|
if (s.num >= vdpa->nas)
|
||||||
|
return -EINVAL;
|
||||||
|
if (!ops->set_group_asid)
|
||||||
|
return -EOPNOTSUPP;
|
||||||
|
return ops->set_group_asid(vdpa, idx, s.num);
|
||||||
case VHOST_GET_VRING_BASE:
|
case VHOST_GET_VRING_BASE:
|
||||||
r = ops->get_vq_state(v->vdpa, idx, &vq_state);
|
r = ops->get_vq_state(v->vdpa, idx, &vq_state);
|
||||||
if (r)
|
if (r)
|
||||||
|
|
|
@ -164,4 +164,11 @@
|
||||||
*/
|
*/
|
||||||
#define VHOST_VDPA_GET_VRING_GROUP _IOWR(VHOST_VIRTIO, 0x7B, \
|
#define VHOST_VDPA_GET_VRING_GROUP _IOWR(VHOST_VIRTIO, 0x7B, \
|
||||||
struct vhost_vring_state)
|
struct vhost_vring_state)
|
||||||
|
/* Set the ASID for a virtqueue group. The group index is stored in
|
||||||
|
* the index field of vhost_vring_state, the ASID associated with this
|
||||||
|
* group is stored at num field of vhost_vring_state.
|
||||||
|
*/
|
||||||
|
#define VHOST_VDPA_SET_GROUP_ASID _IOW(VHOST_VIRTIO, 0x7C, \
|
||||||
|
struct vhost_vring_state)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Reference in a new issue