mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 09:13:55 -06:00
Revert "virtio-pci: replace byte swap hack"
This reverts commit 9807caccd6
.
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
This commit is contained in:
parent
9807caccd6
commit
8e4a424b30
2 changed files with 34 additions and 1 deletions
|
@ -92,6 +92,9 @@
|
|||
*/
|
||||
#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 */
|
||||
/* DeviceState to VirtIOPCIProxy. For use off data-path. TODO: use QOM. */
|
||||
static inline VirtIOPCIProxy *to_virtio_pci_proxy(DeviceState *d)
|
||||
|
@ -400,9 +403,15 @@ 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;
|
||||
|
@ -427,9 +436,15 @@ 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;
|
||||
}
|
||||
|
@ -442,7 +457,7 @@ static const MemoryRegionOps virtio_pci_config_ops = {
|
|||
.min_access_size = 1,
|
||||
.max_access_size = 4,
|
||||
},
|
||||
.endianness = DEVICE_NATIVE_ENDIAN,
|
||||
.endianness = DEVICE_LITTLE_ENDIAN,
|
||||
};
|
||||
|
||||
static void virtio_write_config(PCIDevice *pci_dev, uint32_t address,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue