[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH] virtio-pci: replace byte swap hack
From: |
Blue Swirl |
Subject: |
[Qemu-devel] [PATCH] virtio-pci: replace byte swap hack |
Date: |
Sun, 30 Dec 2012 12:55:48 +0000 |
Remove byte swaps by declaring the config space
as native endian.
Signed-off-by: Blue Swirl <address@hidden>
---
exec.c | 18 ------------------
hw/virtio-pci.c | 17 +----------------
2 files changed, 1 insertions(+), 34 deletions(-)
diff --git a/exec.c b/exec.c
index a6923ad..140eb56 100644
--- a/exec.c
+++ b/exec.c
@@ -2587,24 +2587,6 @@ int cpu_memory_rw_debug(CPUArchState *env, 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)
-{
-#if defined(TARGET_WORDS_BIGENDIAN)
- return true;
-#else
- return false;
-#endif
-}
-
-#endif
-
#ifndef CONFIG_USER_ONLY
bool cpu_physical_memory_is_io(hwaddr phys_addr)
{
diff --git a/hw/virtio-pci.c b/hw/virtio-pci.c
index d2d2454..df78a3b 100644
--- a/hw/virtio-pci.c
+++ b/hw/virtio-pci.c
@@ -92,9 +92,6 @@
*/
#define wmb() do { } while (0)
-/* HACK for virtio to determine if it's running a big endian guest */
-bool virtio_is_big_endian(void);
-
/* virtio device */
static void virtio_pci_notify(void *opaque, uint16_t vector)
@@ -390,15 +387,9 @@ static uint64_t virtio_pci_config_read(void *opaque,
hwaddr addr,
break;
case 2:
val = virtio_config_readw(proxy->vdev, addr);
- if (virtio_is_big_endian()) {
- val = bswap16(val);
- }
break;
case 4:
val = virtio_config_readl(proxy->vdev, addr);
- if (virtio_is_big_endian()) {
- val = bswap32(val);
- }
break;
}
return val;
@@ -423,15 +414,9 @@ static void virtio_pci_config_write(void *opaque, hwaddr
addr,
virtio_config_writeb(proxy->vdev, addr, val);
break;
case 2:
- if (virtio_is_big_endian()) {
- val = bswap16(val);
- }
virtio_config_writew(proxy->vdev, addr, val);
break;
case 4:
- if (virtio_is_big_endian()) {
- val = bswap32(val);
- }
virtio_config_writel(proxy->vdev, addr, val);
break;
}
@@ -444,7 +429,7 @@ static const MemoryRegionOps virtio_pci_config_ops = {
.min_access_size = 1,
.max_access_size = 4,
},
- .endianness = DEVICE_LITTLE_ENDIAN,
+ .endianness = DEVICE_NATIVE_ENDIAN,
};
static void virtio_write_config(PCIDevice *pci_dev, uint32_t address,
--
1.7.2.5
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-devel] [PATCH] virtio-pci: replace byte swap hack,
Blue Swirl <=