On Wed, Dec 20, 2023 at 2:09 AM Dragos Tatulea <dtatulea@xxxxxxxxxx> wrote: > > The virtio spec doesn't allow changing virtqueue addresses after > DRIVER_OK. Some devices do support this operation when the device is > suspended. The VHOST_BACKEND_F_CHANGEABLE_VQ_ADDR_IN_SUSPEND flag > advertises this support as a backend features. There's an ongoing effort in virtio spec to introduce the suspend state. So I wonder if it's better to just allow such behaviour? Thanks > > Signed-off-by: Dragos Tatulea <dtatulea@xxxxxxxxxx> > Suggested-by: Eugenio Pérez <eperezma@xxxxxxxxxx> > --- > include/uapi/linux/vhost_types.h | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/include/uapi/linux/vhost_types.h b/include/uapi/linux/vhost_types.h > index d7656908f730..aacd067afc89 100644 > --- a/include/uapi/linux/vhost_types.h > +++ b/include/uapi/linux/vhost_types.h > @@ -192,5 +192,9 @@ struct vhost_vdpa_iova_range { > #define VHOST_BACKEND_F_DESC_ASID 0x7 > /* IOTLB don't flush memory mapping across device reset */ > #define VHOST_BACKEND_F_IOTLB_PERSIST 0x8 > +/* Device supports changing virtqueue addresses when device is suspended > + * and is in state DRIVER_OK. > + */ > +#define VHOST_BACKEND_F_CHANGEABLE_VQ_ADDR_IN_SUSPEND 0x9 > > #endif > -- > 2.43.0 >