On Wed, Dec 20, 2023 at 2:09 AM Dragos Tatulea <[email protected]> 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 <[email protected]> > Suggested-by: Eugenio Pérez <[email protected]> > --- > 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 >

