On Tue, Aug 26, 2025 at 7:27 PM Eugenio Pérez <eperezma@xxxxxxxxxx> wrote: > > Return the internal struct that represents the vq group as virtqueue map > token, instead of the device. This allows the map functions to access > the information per group. > > At this moment all the virtqueues share the same vq group, that only > can point to ASID 0. This change prepares the infrastructure for actual > per-group address space handling > > Signed-off-by: Eugenio Pérez <eperezma@xxxxxxxxxx> > --- > v3: > * Make the vq groups a dynamic array to support an arbitrary number of > them. > --- > drivers/vdpa/vdpa_user/vduse_dev.c | 52 ++++++++++++++++++++++++------ > include/linux/virtio.h | 6 ++-- > 2 files changed, 46 insertions(+), 12 deletions(-) > > diff --git a/drivers/vdpa/vdpa_user/vduse_dev.c b/drivers/vdpa/vdpa_user/vduse_dev.c > index 0f4e36dd167e..cdb3dc2b5e3f 100644 > --- a/drivers/vdpa/vdpa_user/vduse_dev.c > +++ b/drivers/vdpa/vdpa_user/vduse_dev.c > @@ -22,6 +22,7 @@ > #include <linux/uio.h> > #include <linux/vdpa.h> > #include <linux/nospec.h> > +#include <linux/virtio.h> > #include <linux/vmalloc.h> > #include <linux/sched/mm.h> > #include <uapi/linux/vduse.h> > @@ -84,6 +85,10 @@ struct vduse_umem { > struct mm_struct *mm; > }; > > +struct vduse_vq_group_int { > + struct vduse_dev *dev; > +}; Nit: I don't get the meaning of the "int" suffix. Thanks