On Wed, Jun 8, 2022 at 6:19 AM Jason Wang <jasow...@redhat.com> wrote: > > > 在 2022/5/20 03:12, Eugenio Pérez 写道: > > Signed-off-by: Eugenio Pérez <epere...@redhat.com> > > --- > > > It's better to use the helpers in scripts/ and mentioned to which > version is this synced. >
Right, I should have written somewhere this was in the meantime it was accepted in Linux master :). I'll use the scripts for the next version. Thanks! > Thanks > > > > include/standard-headers/linux/vhost_types.h | 11 ++++++++- > > linux-headers/linux/vhost.h | 25 ++++++++++++++++---- > > 2 files changed, 30 insertions(+), 6 deletions(-) > > > > diff --git a/include/standard-headers/linux/vhost_types.h > > b/include/standard-headers/linux/vhost_types.h > > index 0bd2684a2a..ce78551b0f 100644 > > --- a/include/standard-headers/linux/vhost_types.h > > +++ b/include/standard-headers/linux/vhost_types.h > > @@ -87,7 +87,7 @@ struct vhost_msg { > > > > struct vhost_msg_v2 { > > uint32_t type; > > - uint32_t reserved; > > + uint32_t asid; > > union { > > struct vhost_iotlb_msg iotlb; > > uint8_t padding[64]; > > @@ -153,4 +153,13 @@ struct vhost_vdpa_iova_range { > > /* vhost-net should add virtio_net_hdr for RX, and strip for TX packets. > > */ > > #define VHOST_NET_F_VIRTIO_NET_HDR 27 > > > > +/* Use message type V2 */ > > +#define VHOST_BACKEND_F_IOTLB_MSG_V2 0x1 > > +/* IOTLB can accept batching hints */ > > +#define VHOST_BACKEND_F_IOTLB_BATCH 0x2 > > +/* IOTLB can accept address space identifier through V2 type of IOTLB > > + * message > > + */ > > +#define VHOST_BACKEND_F_IOTLB_ASID 0x3 > > + > > #endif > > diff --git a/linux-headers/linux/vhost.h b/linux-headers/linux/vhost.h > > index 5d99e7c242..d42eb46efd 100644 > > --- a/linux-headers/linux/vhost.h > > +++ b/linux-headers/linux/vhost.h > > @@ -89,11 +89,6 @@ > > > > /* Set or get vhost backend capability */ > > > > -/* Use message type V2 */ > > -#define VHOST_BACKEND_F_IOTLB_MSG_V2 0x1 > > -/* IOTLB can accept batching hints */ > > -#define VHOST_BACKEND_F_IOTLB_BATCH 0x2 > > - > > #define VHOST_SET_BACKEND_FEATURES _IOW(VHOST_VIRTIO, 0x25, __u64) > > #define VHOST_GET_BACKEND_FEATURES _IOR(VHOST_VIRTIO, 0x26, __u64) > > > > @@ -154,6 +149,26 @@ > > /* Get the config size */ > > #define VHOST_VDPA_GET_CONFIG_SIZE _IOR(VHOST_VIRTIO, 0x79, __u32) > > > > +/* Get the number of virtqueue groups. */ > > +#define VHOST_VDPA_GET_GROUP_NUM _IOR(VHOST_VIRTIO, 0x7A, unsigned int) > > + > > +/* Get the number of address spaces. */ > > +#define VHOST_VDPA_GET_AS_NUM _IOR(VHOST_VIRTIO, 0x7B, > > unsigned int) > > + > > +/* Get the group for a virtqueue: read index, write group in num, > > + * The virtqueue index is stored in the index field of > > + * vhost_vring_state. The group for this specific virtqueue is > > + * returned via num field of vhost_vring_state. > > + */ > > +#define VHOST_VDPA_GET_VRING_GROUP _IOWR(VHOST_VIRTIO, 0x7C, \ > > + 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, 0x7D, \ > > + struct vhost_vring_state) > > + > > /* Get the count of all virtqueues */ > > #define VHOST_VDPA_GET_VQS_COUNT _IOR(VHOST_VIRTIO, 0x80, __u32) > > >