Message ID | 20220519191306.821774-12-eperezma@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Net Control VQ support with asid in vDPA SVQ | expand |
在 2022/5/20 03:12, Eugenio Pérez 写道: > Signed-off-by: Eugenio Pérez <eperezma@redhat.com> > --- It's better to use the helpers in scripts/ and mentioned to which version is this synced. 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) >
On Wed, Jun 8, 2022 at 6:19 AM Jason Wang <jasowang@redhat.com> wrote: > > > 在 2022/5/20 03:12, Eugenio Pérez 写道: > > Signed-off-by: Eugenio Pérez <eperezma@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) > > >
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)
Signed-off-by: Eugenio Pérez <eperezma@redhat.com> --- include/standard-headers/linux/vhost_types.h | 11 ++++++++- linux-headers/linux/vhost.h | 25 ++++++++++++++++---- 2 files changed, 30 insertions(+), 6 deletions(-)