From: Greg Kurz <gkurz@linux.vnet.ibm.com>
To: Alexander Graf <agraf@suse.de>
Cc: "Kevin Wolf" <kwolf@redhat.com>,
"Peter Maydell" <peter.maydell@linaro.org>,
"Stefan Hajnoczi" <stefanha@redhat.com>,
"Michael S. Tsirkin" <mst@redhat.com>,
"Rusty Russell" <rusty@rustcorp.com.au>,
qemu-devel@nongnu.org, "Juan Quintela" <quintela@redhat.com>,
aneesh.kumar@linux.vnet.ibm.com,
"Anthony Liguori" <aliguori@amazon.com>,
"Amit Shah" <amit.shah@redhat.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Andreas Färber" <afaerber@suse.de>
Subject: Re: [Qemu-devel] [PATCH v8 09/20] exec: introduce target_words_bigendian() helper
Date: Fri, 13 Jun 2014 14:05:35 +0200 [thread overview]
Message-ID: <20140613140535.00d85a8e@bahia.local> (raw)
In-Reply-To: <539AE376.6010001@suse.de>
On Fri, 13 Jun 2014 13:41:42 +0200
Alexander Graf <agraf@suse.de> wrote:
>
> On 13.06.14 13:21, Greg Kurz wrote:
> > We currently have a virtio_is_big_endian() helper that provides the target
> > endianness to the virtio code. As of today, the helper returns a fixed
> > compile-time value. Of course, this will have to change if we want to
> > support target endianness changes at run-time.
> >
> > Let's move the TARGET_WORDS_BIGENDIAN bits out to a new helper and have
> > virtio_is_big_endian() implemented on top of it.
> >
> > This patch doesn't change any functionality.
> >
> > Signed-off-by: Greg Kurz <gkurz@linux.vnet.ibm.com>
> > ---
> > exec.c | 11 +----------
> > hw/virtio/virtio-pci.c | 3 ---
> > include/exec/cpu-common.h | 1 +
> > include/hw/virtio/virtio.h | 5 +++++
> > 4 files changed, 7 insertions(+), 13 deletions(-)
> >
> > diff --git a/exec.c b/exec.c
> > index 4e179a6..a7d4431 100644
> > --- a/exec.c
> > +++ b/exec.c
> > @@ -2738,14 +2738,7 @@ int cpu_memory_rw_debug(CPUState *cpu, target_ulong addr,
> > }
> > #endif
> >
> > -#if !defined(CONFIG_USER_ONLY)
> > -
> > -/*
> > - * A helper function for the _utterly broken_ virtio device model to find out if
> > - * it's running on a big endian machine. Don't do this at home kids!
> > - */
> > -bool virtio_is_big_endian(void);
> > -bool virtio_is_big_endian(void)
> > +bool target_words_bigendian(void)
> > {
> > #if defined(TARGET_WORDS_BIGENDIAN)
> > return true;
> > @@ -2754,8 +2747,6 @@ bool virtio_is_big_endian(void)
> > #endif
> > }
> >
> > -#endif
> > -
> > #ifndef CONFIG_USER_ONLY
> > bool cpu_physical_memory_is_io(hwaddr phys_addr)
> > {
> > diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c
> > index ce97514..390c8d2 100644
> > --- a/hw/virtio/virtio-pci.c
> > +++ b/hw/virtio/virtio-pci.c
> > @@ -89,9 +89,6 @@
> > /* Flags track per-device state like workarounds for quirks in older guests. */
> > #define VIRTIO_PCI_FLAG_BUS_MASTER_BUG (1 << 0)
> >
> > -/* HACK for virtio to determine if it's running a big endian guest */
> > -bool virtio_is_big_endian(void);
> > -
> > static void virtio_pci_bus_new(VirtioBusState *bus, size_t bus_size,
> > VirtIOPCIProxy *dev);
> >
> > diff --git a/include/exec/cpu-common.h b/include/exec/cpu-common.h
> > index a21b65a..eb798c1 100644
> > --- a/include/exec/cpu-common.h
> > +++ b/include/exec/cpu-common.h
> > @@ -122,4 +122,5 @@ void qemu_ram_foreach_block(RAMBlockIterFunc func, void *opaque);
> >
> > #endif
> >
> > +bool target_words_bigendian(void);
>
> Please don't make this function globally available - usually no code in
> hw/ should know about this except for virtio. Put it in a virtio header
> instead.
>
>
> Alex
>
Oops... sure I'll fix that.
--
Gregory Kurz kurzgreg@fr.ibm.com
gkurz@linux.vnet.ibm.com
Software Engineer @ IBM/Meiosys http://www.ibm.com
Tel +33 (0)562 165 496
"Anarchy is about taking complete responsibility for yourself."
Alan Moore.
next prev parent reply other threads:[~2014-06-13 12:06 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-13 11:18 [Qemu-devel] [PATCH v8 00/20] virtio endian-ambivalent target Greg Kurz
2014-06-13 11:18 ` [Qemu-devel] [PATCH v8 01/20] virtio-serial: don't migrate the config space Greg Kurz
2014-06-13 11:33 ` Alexander Graf
2014-06-19 10:40 ` Amit Shah
2014-06-19 11:17 ` Greg Kurz
2014-06-19 11:32 ` Michael S. Tsirkin
2014-06-13 11:19 ` [Qemu-devel] [PATCH v8 02/20] virtio: introduce device specific migration calls Greg Kurz
2014-06-13 11:19 ` [Qemu-devel] [PATCH v8 03/20] virtio-net: implement per-device " Greg Kurz
2014-06-13 11:19 ` [Qemu-devel] [PATCH v8 04/20] virtio-blk: " Greg Kurz
2014-06-13 11:20 ` [Qemu-devel] [PATCH v8 05/20] virtio-serial: " Greg Kurz
2014-06-13 11:20 ` [Qemu-devel] [PATCH v8 06/20] virtio-balloon: " Greg Kurz
2014-06-13 11:21 ` [Qemu-devel] [PATCH v8 07/20] virtio-rng: " Greg Kurz
2014-06-13 11:21 ` [Qemu-devel] [PATCH v8 08/20] virtio: add subsections to the migration stream Greg Kurz
2014-06-13 11:21 ` [Qemu-devel] [PATCH v8 09/20] exec: introduce target_words_bigendian() helper Greg Kurz
2014-06-13 11:41 ` Alexander Graf
2014-06-13 12:05 ` Greg Kurz [this message]
2014-06-13 11:22 ` [Qemu-devel] [PATCH v8 10/20] cpu: introduce CPUClass::virtio_is_big_endian() Greg Kurz
2014-06-13 11:42 ` Alexander Graf
2014-06-13 12:08 ` Greg Kurz
2014-06-13 11:23 ` [Qemu-devel] [PATCH v8 11/20] virtio: add endian-ambivalent support to VirtIODevice Greg Kurz
2014-06-13 11:46 ` Alexander Graf
2014-06-13 12:14 ` Greg Kurz
2014-06-13 12:41 ` Alexander Graf
2014-06-13 12:52 ` Greg Kurz
2014-06-13 11:23 ` [Qemu-devel] [PATCH v8 12/20] virtio: memory accessors for endian-ambivalent targets Greg Kurz
2014-06-13 11:24 ` [Qemu-devel] [PATCH v8 13/20] virtio: allow byte swapping for vring Greg Kurz
2014-06-13 11:24 ` [Qemu-devel] [PATCH v8 14/20] virtio-net: use virtio wrappers to access headers Greg Kurz
2014-06-13 11:52 ` Alexander Graf
2014-06-13 12:24 ` Cedric Le Goater
2014-06-13 12:40 ` Greg Kurz
2014-06-13 11:24 ` [Qemu-devel] [PATCH v8 15/20] virtio-balloon: use virtio wrappers to access page frame numbers Greg Kurz
2014-06-13 11:24 ` [Qemu-devel] [PATCH v8 16/20] virtio-blk: use virtio wrappers to access headers Greg Kurz
2014-06-13 11:24 ` [Qemu-devel] [PATCH v8 17/20] virtio-scsi: " Greg Kurz
2014-06-19 15:05 ` Greg Kurz
2014-06-20 8:24 ` Paolo Bonzini
2014-06-20 8:33 ` Greg Kurz
2014-06-13 11:25 ` [Qemu-devel] [PATCH v8 18/20] virtio-serial-bus: " Greg Kurz
2014-06-13 11:25 ` [Qemu-devel] [PATCH v8 19/20] virtio-9p: " Greg Kurz
2014-06-13 11:26 ` [Qemu-devel] [PATCH v8 20/20] target-ppc: enable virtio endian ambivalent support Greg Kurz
2014-06-13 11:56 ` [Qemu-devel] [PATCH v8 00/20] virtio endian-ambivalent target Alexander Graf
2014-06-16 15:07 ` Greg Kurz
2014-06-16 16:53 ` Amit Shah
2014-06-17 7:36 ` Stefan Hajnoczi
2014-06-17 7:40 ` Alexander Graf
2014-06-18 10:38 ` Stefan Hajnoczi
2014-06-18 12:35 ` Greg Kurz
2014-06-18 15:12 ` Michael S. Tsirkin
2014-06-18 15:14 ` Alexander Graf
2014-06-18 15:26 ` Michael S. Tsirkin
2014-06-19 9:51 ` Stefan Hajnoczi
2014-06-18 12:53 ` Peter Maydell
2014-06-18 13:42 ` Michael S. Tsirkin
2014-06-18 14:28 ` Greg Kurz
2014-06-18 15:05 ` Michael S. Tsirkin
2014-06-18 15:35 ` Peter Maydell
2014-06-18 15:37 ` Alexander Graf
2014-06-18 15:40 ` Peter Maydell
2014-06-18 15:41 ` Alexander Graf
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=20140613140535.00d85a8e@bahia.local \
--to=gkurz@linux.vnet.ibm.com \
--cc=afaerber@suse.de \
--cc=agraf@suse.de \
--cc=aliguori@amazon.com \
--cc=amit.shah@redhat.com \
--cc=aneesh.kumar@linux.vnet.ibm.com \
--cc=kwolf@redhat.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
--cc=rusty@rustcorp.com.au \
--cc=stefanha@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).