From: "Michael S. Tsirkin" <mst@redhat.com>
To: Liam Merwick <liam.merwick@oracle.com>
Cc: ehabkost@redhat.com, Sergio Lopez <slp@redhat.com>,
maran.wilson@oracle.com, qemu-devel@nongnu.org,
kraxel@redhat.com, pbonzini@redhat.com, sgarzare@redhat.com,
rth@twiddle.net
Subject: Re: [Qemu-devel] [PATCH v3 1/4] hw/virtio: Factorize virtio-mmio headers
Date: Thu, 25 Jul 2019 05:58:25 -0400 [thread overview]
Message-ID: <20190725055523-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <aca80a5c-40b9-ca31-2e22-c2bf5005f7e5@oracle.com>
On Thu, Jul 25, 2019 at 10:46:00AM +0100, Liam Merwick wrote:
> On 02/07/2019 13:11, Sergio Lopez wrote:
> > Put QOM and main struct definition in a separate header file, so it
> > can be accesed from other components.
>
> typo: accesed -> accessed
>
> >
> > This is needed for the microvm machine type implementation.
> >
> > Signed-off-by: Sergio Lopez <slp@redhat.com>
>
> One nit below, either way
>
> Reviewed-by: Liam Merwick <liam.merwick@oracle.com>
>
> > ---
> > hw/virtio/virtio-mmio.c | 35 +-----------------------
> > hw/virtio/virtio-mmio.h | 60 +++++++++++++++++++++++++++++++++++++++++
> > 2 files changed, 61 insertions(+), 34 deletions(-)
> > create mode 100644 hw/virtio/virtio-mmio.h
> >
> > diff --git a/hw/virtio/virtio-mmio.c b/hw/virtio/virtio-mmio.c
> > index 97b7f35496..87c7fe4d8d 100644
> > --- a/hw/virtio/virtio-mmio.c
> > +++ b/hw/virtio/virtio-mmio.c
> > @@ -26,44 +26,11 @@
> > #include "qemu/host-utils.h"
> > #include "qemu/module.h"
> > #include "sysemu/kvm.h"
> > -#include "hw/virtio/virtio-bus.h"
> > +#include "virtio-mmio.h"
>
>
> Virtually all the other includes of virtio-xxx.h files in hw/virtio use the
> full path - e.g. "hw/virtio/virtio-mmio.h" - maybe do the same to be
> consistent.
That's for headers under include/.
Local ones are ok with a short name.
>
> > #include "qemu/error-report.h"
> > #include "qemu/log.h"
> > #include "trace.h"
> > -/* QOM macros */
> > -/* virtio-mmio-bus */
> > -#define TYPE_VIRTIO_MMIO_BUS "virtio-mmio-bus"
> > -#define VIRTIO_MMIO_BUS(obj) \
> > - OBJECT_CHECK(VirtioBusState, (obj), TYPE_VIRTIO_MMIO_BUS)
> > -#define VIRTIO_MMIO_BUS_GET_CLASS(obj) \
> > - OBJECT_GET_CLASS(VirtioBusClass, (obj), TYPE_VIRTIO_MMIO_BUS)
> > -#define VIRTIO_MMIO_BUS_CLASS(klass) \
> > - OBJECT_CLASS_CHECK(VirtioBusClass, (klass), TYPE_VIRTIO_MMIO_BUS)
> > -
> > -/* virtio-mmio */
> > -#define TYPE_VIRTIO_MMIO "virtio-mmio"
> > -#define VIRTIO_MMIO(obj) \
> > - OBJECT_CHECK(VirtIOMMIOProxy, (obj), TYPE_VIRTIO_MMIO)
> > -
> > -#define VIRT_MAGIC 0x74726976 /* 'virt' */
> > -#define VIRT_VERSION 1
> > -#define VIRT_VENDOR 0x554D4551 /* 'QEMU' */
> > -
> > -typedef struct {
> > - /* Generic */
> > - SysBusDevice parent_obj;
> > - MemoryRegion iomem;
> > - qemu_irq irq;
> > - /* Guest accessible state needing migration and reset */
> > - uint32_t host_features_sel;
> > - uint32_t guest_features_sel;
> > - uint32_t guest_page_shift;
> > - /* virtio-bus */
> > - VirtioBusState bus;
> > - bool format_transport_address;
> > -} VirtIOMMIOProxy;
> > -
> > static bool virtio_mmio_ioeventfd_enabled(DeviceState *d)
> > {
> > return kvm_eventfds_enabled();
> > diff --git a/hw/virtio/virtio-mmio.h b/hw/virtio/virtio-mmio.h
> > new file mode 100644
> > index 0000000000..2f3973f8c7
> > --- /dev/null
> > +++ b/hw/virtio/virtio-mmio.h
> > @@ -0,0 +1,60 @@
> > +/*
> > + * Virtio MMIO bindings
> > + *
> > + * Copyright (c) 2011 Linaro Limited
> > + *
> > + * Author:
> > + * Peter Maydell <peter.maydell@linaro.org>
> > + *
> > + * This program is free software; you can redistribute it and/or modify
> > + * it under the terms of the GNU General Public License; either version 2
> > + * of the License, or (at your option) any later version.
> > + *
> > + * This program is distributed in the hope that it will be useful,
> > + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> > + * GNU General Public License for more details.
> > + *
> > + * You should have received a copy of the GNU General Public License along
> > + * with this program; if not, see <http://www.gnu.org/licenses/>.
> > + */
> > +
> > +#ifndef QEMU_VIRTIO_MMIO_H
> > +#define QEMU_VIRTIO_MMIO_H
> > +
> > +#include "hw/virtio/virtio-bus.h"
> > +
> > +/* QOM macros */
> > +/* virtio-mmio-bus */
> > +#define TYPE_VIRTIO_MMIO_BUS "virtio-mmio-bus"
> > +#define VIRTIO_MMIO_BUS(obj) \
> > + OBJECT_CHECK(VirtioBusState, (obj), TYPE_VIRTIO_MMIO_BUS)
> > +#define VIRTIO_MMIO_BUS_GET_CLASS(obj) \
> > + OBJECT_GET_CLASS(VirtioBusClass, (obj), TYPE_VIRTIO_MMIO_BUS)
> > +#define VIRTIO_MMIO_BUS_CLASS(klass) \
> > + OBJECT_CLASS_CHECK(VirtioBusClass, (klass), TYPE_VIRTIO_MMIO_BUS)
> > +
> > +/* virtio-mmio */
> > +#define TYPE_VIRTIO_MMIO "virtio-mmio"
> > +#define VIRTIO_MMIO(obj) \
> > + OBJECT_CHECK(VirtIOMMIOProxy, (obj), TYPE_VIRTIO_MMIO)
> > +
> > +#define VIRT_MAGIC 0x74726976 /* 'virt' */
> > +#define VIRT_VERSION 1
> > +#define VIRT_VENDOR 0x554D4551 /* 'QEMU' */
> > +
> > +typedef struct {
> > + /* Generic */
> > + SysBusDevice parent_obj;
> > + MemoryRegion iomem;
> > + qemu_irq irq;
> > + /* Guest accessible state needing migration and reset */
> > + uint32_t host_features_sel;
> > + uint32_t guest_features_sel;
> > + uint32_t guest_page_shift;
> > + /* virtio-bus */
> > + VirtioBusState bus;
> > + bool format_transport_address;
> > +} VirtIOMMIOProxy;
I'm repeating myself, but still: if you insist on virtio mmio, please
implement virtio 1 and use that with microvm. We can't keep carrying
legacy interface into every new machine type.
> > +
> > +#endif
> >
next prev parent reply other threads:[~2019-07-25 9:58 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-02 12:11 [Qemu-devel] [PATCH v3 0/4] Introduce the microvm machine type Sergio Lopez
2019-07-02 12:11 ` [Qemu-devel] [PATCH v3 1/4] hw/virtio: Factorize virtio-mmio headers Sergio Lopez
2019-07-25 9:46 ` Liam Merwick
2019-07-25 9:58 ` Michael S. Tsirkin [this message]
2019-07-25 10:03 ` Peter Maydell
2019-07-25 10:36 ` Paolo Bonzini
2019-07-02 12:11 ` [Qemu-devel] [PATCH v3 2/4] hw/i386: Add an Intel MPTable generator Sergio Lopez
2019-07-02 12:11 ` [Qemu-devel] [PATCH v3 3/4] hw/i386: Factorize PVH related functions Sergio Lopez
2019-07-23 8:39 ` Liam Merwick
2019-07-02 12:11 ` [Qemu-devel] [PATCH v3 4/4] hw/i386: Introduce the microvm machine type Sergio Lopez
2019-07-02 13:58 ` Gerd Hoffmann
2019-07-25 10:47 ` Paolo Bonzini
2019-07-02 15:01 ` [Qemu-devel] [PATCH v3 0/4] " no-reply
2019-07-02 15:23 ` Peter Maydell
2019-07-02 17:34 ` Sergio Lopez
2019-07-02 18:04 ` Peter Maydell
2019-07-02 22:04 ` Sergio Lopez
2019-07-25 9:59 ` Michael S. Tsirkin
2019-07-25 10:05 ` Peter Maydell
2019-07-25 10:10 ` Michael S. Tsirkin
2019-07-25 14:52 ` Sergio Lopez
2019-07-25 10:42 ` Sergio Lopez
2019-07-25 11:23 ` Paolo Bonzini
2019-07-25 12:01 ` Stefan Hajnoczi
2019-07-25 12:10 ` Michael S. Tsirkin
2019-07-25 13:26 ` Stefan Hajnoczi
2019-07-25 13:43 ` Paolo Bonzini
2019-07-25 13:54 ` Michael S. Tsirkin
2019-07-25 14:13 ` Paolo Bonzini
2019-07-25 14:42 ` Michael S. Tsirkin
2019-07-25 14:04 ` Peter Maydell
2019-07-25 14:26 ` Paolo Bonzini
2019-07-25 14:35 ` Michael S. Tsirkin
2019-07-25 14:42 ` Sergio Lopez
2019-07-25 14:58 ` Michael S. Tsirkin
2019-07-25 15:01 ` Michael S. Tsirkin
2019-07-25 15:39 ` Paolo Bonzini
2019-07-25 17:38 ` Michael S. Tsirkin
2019-07-26 12:46 ` Igor Mammedov
2019-07-25 15:49 ` Sergio Lopez
2019-07-25 13:48 ` Michael S. Tsirkin
2019-07-02 15:30 ` no-reply
2019-07-03 9:58 ` Stefan Hajnoczi
2019-07-18 15:21 ` Sergio Lopez
2019-07-19 10:29 ` Stefan Hajnoczi
2019-07-19 13:48 ` Sergio Lopez
2019-07-19 15:09 ` Stefan Hajnoczi
2019-07-19 15:42 ` Montes, Julio
2019-07-23 8:43 ` Sergio Lopez
2019-07-23 9:47 ` Stefan Hajnoczi
2019-07-23 10:01 ` Paolo Bonzini
2019-07-24 11:14 ` Paolo Bonzini
2019-07-25 9:35 ` Sergio Lopez
2019-07-25 10:03 ` Michael S. Tsirkin
2019-07-25 10:55 ` Paolo Bonzini
2019-07-25 14:46 ` Michael S. Tsirkin
2019-07-25 15:35 ` Paolo Bonzini
2019-07-25 17:33 ` Michael S. Tsirkin
2019-07-25 20:30 ` Michael S. Tsirkin
2019-07-26 7:57 ` Paolo Bonzini
2019-07-26 11:10 ` Michael S. Tsirkin
2019-07-23 11:30 ` Stefano Garzarella
2019-07-24 15:23 ` Stefano Garzarella
2019-08-29 9:02 ` Jing Liu
2019-08-29 15:46 ` Sergio Lopez
2019-08-30 4:53 ` Jing Liu
2019-08-30 14:27 ` Sergio Lopez
2019-09-02 5:43 ` Jing Liu
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=20190725055523-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=ehabkost@redhat.com \
--cc=kraxel@redhat.com \
--cc=liam.merwick@oracle.com \
--cc=maran.wilson@oracle.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
--cc=sgarzare@redhat.com \
--cc=slp@redhat.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).