On Wed, Nov 5, 2025 at 6:38 AM Alex Bennée <[email protected]> wrote:
> "Edgar E. Iglesias" <[email protected]> writes: > > > From: "Edgar E. Iglesias" <[email protected]> > > > > Signed-off-by: Edgar E. Iglesias <[email protected]> > > --- > > hw/virtio/virtio.c | 7 +++++++ > > include/hw/virtio/virtio-bus.h | 1 + > > 2 files changed, 8 insertions(+) > > > > diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c > > index 153ee0a0cf..8a53fb5f93 100644 > > --- a/hw/virtio/virtio.c > > +++ b/hw/virtio/virtio.c > > @@ -2700,12 +2700,19 @@ static void virtio_irq(VirtQueue *vq) > > > > void virtio_notify(VirtIODevice *vdev, VirtQueue *vq) > > { > > + BusState *qbus = qdev_get_parent_bus(DEVICE(vdev)); > > + VirtioBusClass *k = VIRTIO_BUS_GET_CLASS(qbus); > > + > > WITH_RCU_READ_LOCK_GUARD() { > > if (!virtio_should_notify(vdev, vq)) { > > return; > > } > > } > > > > + if (k->notify_queue) { > > + k->notify_queue(qbus->parent, virtio_get_queue_index(vq)); > > + } > > + > > trace_virtio_notify(vdev, vq); > > virtio_irq(vq); > > } > > diff --git a/include/hw/virtio/virtio-bus.h > b/include/hw/virtio/virtio-bus.h > > index 7ab8c9dab0..043dbeb4cf 100644 > > --- a/include/hw/virtio/virtio-bus.h > > +++ b/include/hw/virtio/virtio-bus.h > > @@ -39,6 +39,7 @@ DECLARE_OBJ_CHECKERS(VirtioBusState, VirtioBusClass, > > struct VirtioBusClass { > > /* This is what a VirtioBus must implement */ > > BusClass parent; > > + void (*notify_queue)(DeviceState *d, uint16_t index); > > void (*notify)(DeviceState *d, uint16_t vector); > > void (*save_config)(DeviceState *d, QEMUFile *f); > > void (*save_queue)(DeviceState *d, int n, QEMUFile *f); > > The code looks fine but we could do with a little outline of why we need > this is the commit messages. Why do we have notify and notify_queue? Are > they mutually exclusive? > > Not specific to this patch but we should strive to document the > individual methods in each class to give a clearer idea of what they do. > Thanks Alex, Actually, I can do without introducing this new callback. Thanks for the other comments as well, I'll fix those up for the next submission. Cheers, Edgar > > -- > Alex Bennée > Virtualisation Tech Lead @ Linaro >
