[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v9 10/22] exec: introduce target_words_bigendian() h
From: |
Greg Kurz |
Subject: |
[Qemu-devel] [PATCH v9 10/22] exec: introduce target_words_bigendian() helper |
Date: |
Tue, 24 Jun 2014 19:26:29 +0200 |
User-agent: |
StGit/0.17-dirty |
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 <address@hidden>
---
Changes since v8:
- target_words_bigendian() removed from include/exec/cpu-common.h
exec.c | 8 ++------
hw/virtio/virtio-pci.c | 3 ---
include/hw/virtio/virtio.h | 6 ++++++
3 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/exec.c b/exec.c
index c849405..b791156 100644
--- a/exec.c
+++ b/exec.c
@@ -2752,14 +2752,12 @@ 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);
+bool target_words_bigendian(void)
{
#if defined(TARGET_WORDS_BIGENDIAN)
return true;
@@ -2768,8 +2766,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 57e1e61..e11f759 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/hw/virtio/virtio.h b/include/hw/virtio/virtio.h
index 3505ce5..9000ee2 100644
--- a/include/hw/virtio/virtio.h
+++ b/include/hw/virtio/virtio.h
@@ -255,4 +255,10 @@ void virtio_queue_set_host_notifier_fd_handler(VirtQueue
*vq, bool assign,
bool set_handler);
void virtio_queue_notify_vq(VirtQueue *vq);
void virtio_irq(VirtQueue *vq);
+
+bool target_words_bigendian(void);
+static inline bool virtio_is_big_endian(void)
+{
+ return target_words_bigendian();
+}
#endif
- [Qemu-devel] [PATCH v9 02/22] virtio-serial: don't migrate the config space, (continued)
- [Qemu-devel] [PATCH v9 02/22] virtio-serial: don't migrate the config space, Greg Kurz, 2014/06/24
- [Qemu-devel] [PATCH v9 03/22] virtio: introduce device specific migration calls, Greg Kurz, 2014/06/24
- [Qemu-devel] [PATCH v9 04/22] virtio-net: implement per-device migration calls, Greg Kurz, 2014/06/24
- [Qemu-devel] [PATCH v9 05/22] virtio-blk: implement per-device migration calls, Greg Kurz, 2014/06/24
- [Qemu-devel] [PATCH v9 06/22] virtio-serial: implement per-device migration calls, Greg Kurz, 2014/06/24
- [Qemu-devel] [PATCH v9 07/22] virtio-balloon: implement per-device migration calls, Greg Kurz, 2014/06/24
- [Qemu-devel] [PATCH v9 08/22] virtio-rng: implement per-device migration calls, Greg Kurz, 2014/06/24
- [Qemu-devel] [PATCH v9 09/22] virtio: add subsections to the migration stream, Greg Kurz, 2014/06/24
- Re: [Qemu-devel] [PATCH v9 00/22] legacy virtio support for cross-endian targets, Michael S. Tsirkin, 2014/06/24
- [Qemu-devel] [PATCH v9 10/22] exec: introduce target_words_bigendian() helper,
Greg Kurz <=
- [Qemu-devel] [PATCH v9 11/22] cpu: introduce CPUClass::virtio_is_big_endian(), Greg Kurz, 2014/06/24
- [Qemu-devel] [PATCH v9 12/22] virtio: add endian-ambivalent support to VirtIODevice, Greg Kurz, 2014/06/24
- [Qemu-devel] [PATCH v9 13/22] virtio: memory accessors for endian-ambivalent targets, Greg Kurz, 2014/06/24
- [Qemu-devel] [PATCH v9 14/22] virtio: allow byte swapping for vring, Greg Kurz, 2014/06/24
- [Qemu-devel] [PATCH v9 15/22] virtio-net: use virtio wrappers to access headers, Greg Kurz, 2014/06/24
- [Qemu-devel] [PATCH v9 16/22] virtio-balloon: use virtio wrappers to access page frame numbers, Greg Kurz, 2014/06/24
- [Qemu-devel] [PATCH v9 17/22] virtio-blk: use virtio wrappers to access headers, Greg Kurz, 2014/06/24
- [Qemu-devel] [PATCH v9 18/22] virtio-scsi: use virtio wrappers to access headers, Greg Kurz, 2014/06/24
- [Qemu-devel] [PATCH v9 19/22] virtio-serial-bus: use virtio wrappers to access headers, Greg Kurz, 2014/06/24
- [Qemu-devel] [PATCH v9 20/22] virtio-9p: use virtio wrappers to access headers, Greg Kurz, 2014/06/24