All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Pavel Dovgalyuk <pavel.dovgalyuk@ispras.ru>
Cc: pbonzini@redhat.com, alex.bennee@linaro.org, qemu-devel@nongnu.org
Subject: Re: [PATCH] hw/virtio: enable ioeventfd configuring for mmio
Date: Tue, 6 Apr 2021 06:02:57 -0400	[thread overview]
Message-ID: <20210406054157-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <d5119624-9658-2cbb-e1c7-9e85bd22b532@ispras.ru>

i tagged it for 6.1
pls remind me after release so it's not lost


On Mon, Apr 05, 2021 at 08:50:31AM +0300, Pavel Dovgalyuk wrote:
> ping
> 
> On 29.03.2021 10:43, Pavel Dovgalyuk wrote:
> > This patch adds ioeventfd flag for virtio-mmio configuration.
> > It allows switching ioeventfd on and off.
> > 
> > Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
> > ---
> >   hw/virtio/virtio-mmio.c         |   11 ++++++++++-
> >   include/hw/virtio/virtio-mmio.h |    5 +++++
> >   2 files changed, 15 insertions(+), 1 deletion(-)
> > 
> > diff --git a/hw/virtio/virtio-mmio.c b/hw/virtio/virtio-mmio.c
> > index 342c918ea7..5952471b38 100644
> > --- a/hw/virtio/virtio-mmio.c
> > +++ b/hw/virtio/virtio-mmio.c
> > @@ -36,7 +36,9 @@
> >   static bool virtio_mmio_ioeventfd_enabled(DeviceState *d)
> >   {
> > -    return kvm_eventfds_enabled();
> > +    VirtIOMMIOProxy *proxy = VIRTIO_MMIO(d);
> > +
> > +    return (proxy->flags & VIRTIO_IOMMIO_FLAG_USE_IOEVENTFD) != 0;
> >   }
> >   static int virtio_mmio_ioeventfd_assign(DeviceState *d,
> > @@ -720,6 +722,8 @@ static Property virtio_mmio_properties[] = {
> >       DEFINE_PROP_BOOL("format_transport_address", VirtIOMMIOProxy,
> >                        format_transport_address, true),
> >       DEFINE_PROP_BOOL("force-legacy", VirtIOMMIOProxy, legacy, true),
> > +    DEFINE_PROP_BIT("ioeventfd", VirtIOMMIOProxy, flags,
> > +                    VIRTIO_IOMMIO_FLAG_USE_IOEVENTFD_BIT, true),
> >       DEFINE_PROP_END_OF_LIST(),
> >   };
> > @@ -731,6 +735,11 @@ static void virtio_mmio_realizefn(DeviceState *d, Error **errp)
> >       qbus_create_inplace(&proxy->bus, sizeof(proxy->bus), TYPE_VIRTIO_MMIO_BUS,
> >                           d, NULL);
> >       sysbus_init_irq(sbd, &proxy->irq);
> > +
> > +    if (!kvm_eventfds_enabled()) {
> > +        proxy->flags &= ~VIRTIO_IOMMIO_FLAG_USE_IOEVENTFD;
> > +    }
> > +
> >       if (proxy->legacy) {
> >           memory_region_init_io(&proxy->iomem, OBJECT(d),
> >                                 &virtio_legacy_mem_ops, proxy,
> > diff --git a/include/hw/virtio/virtio-mmio.h b/include/hw/virtio/virtio-mmio.h
> > index d4c4c386ab..090f7730e7 100644
> > --- a/include/hw/virtio/virtio-mmio.h
> > +++ b/include/hw/virtio/virtio-mmio.h
> > @@ -49,12 +49,17 @@ typedef struct VirtIOMMIOQueue {
> >       uint32_t used[2];
> >   } VirtIOMMIOQueue;
> > +#define VIRTIO_IOMMIO_FLAG_USE_IOEVENTFD_BIT 1
> > +#define VIRTIO_IOMMIO_FLAG_USE_IOEVENTFD \
> > +        (1 << VIRTIO_IOMMIO_FLAG_USE_IOEVENTFD_BIT)
> > +
> >   struct VirtIOMMIOProxy {
> >       /* Generic */
> >       SysBusDevice parent_obj;
> >       MemoryRegion iomem;
> >       qemu_irq irq;
> >       bool legacy;
> > +    uint32_t flags;
> >       /* Guest accessible state needing migration and reset */
> >       uint32_t host_features_sel;
> >       uint32_t guest_features_sel;
> > 



  reply	other threads:[~2021-04-06 10:04 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-29  7:43 [PATCH] hw/virtio: enable ioeventfd configuring for mmio Pavel Dovgalyuk
2021-04-05  5:50 ` Pavel Dovgalyuk
2021-04-06 10:02   ` Michael S. Tsirkin [this message]
2021-05-07 10:45     ` Pavel Dovgalyuk
  -- strict thread matches above, loose matches on Subject: below --
2021-02-24 13:33 Pavel Dovgalyuk
2021-03-02  8:14 ` Pavel Dovgalyuk
2021-03-15  6:00 ` Pavel Dovgalyuk

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210406054157-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=pavel.dovgalyuk@ispras.ru \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.