On Wed, Jan 05, 2022 at 12:35:53PM +0800, Jason Wang wrote: > On Wed, Jan 5, 2022 at 8:59 AM Longpeng(Mike) <longpe...@huawei.com> wrote: > > > > From: Longpeng <longpe...@huawei.com> > > > > To support generic vdpa deivce, we need add the following ioctls: > > - GET_VECTORS_NUM: the count of vectors that supported > > Does this mean MSI vectors? If yes, it looks like a layer violation: > vhost is transport independent.
Well *guest* needs to know how many vectors device supports. I don't think there's a way around that. Do you? Otherwise guests will at best be suboptimal. > And it reveals device implementation > details which block (cross vendor) migration. > > Thanks Not necessarily, userspace can hide this from guest if it wants to, just validate. > > - GET_CONFIG_SIZE: the size of the virtio config space > > - GET_VQS_NUM: the count of virtqueues that exported > > > > Signed-off-by: Longpeng <longpe...@huawei.com> > > --- > > linux-headers/linux/vhost.h | 10 ++++++++++ > > 1 file changed, 10 insertions(+) > > > > diff --git a/linux-headers/linux/vhost.h b/linux-headers/linux/vhost.h > > index c998860d7b..c5edd75d15 100644 > > --- a/linux-headers/linux/vhost.h > > +++ b/linux-headers/linux/vhost.h > > @@ -150,4 +150,14 @@ > > /* Get the valid iova range */ > > #define VHOST_VDPA_GET_IOVA_RANGE _IOR(VHOST_VIRTIO, 0x78, \ > > struct vhost_vdpa_iova_range) > > + > > +/* Get the number of vectors */ > > +#define VHOST_VDPA_GET_VECTORS_NUM _IOR(VHOST_VIRTIO, 0x79, int) > > + > > +/* Get the virtio config size */ > > +#define VHOST_VDPA_GET_CONFIG_SIZE _IOR(VHOST_VIRTIO, 0x80, int) > > + > > +/* Get the number of virtqueues */ > > +#define VHOST_VDPA_GET_VQS_NUM _IOR(VHOST_VIRTIO, 0x81, int) > > + > > #endif > > -- > > 2.23.0 > >