qemu/include/hw
Cornelia Huck b0e5d90ebc dataplane: endianness-aware accesses
The vring.c code currently assumes that guest and host endianness match,
which is not true for a number of cases:

- emulating targets with a different endianness than the host
- bi-endian targets, where the correct endianness depends on the virtio
  device
- upcoming support for the virtio-1 standard mandates little-endian
  accesses even for big-endian targets and hosts

Make sure to use accessors that depend on the virtio device.

Note that dataplane now needs to be built per-target.

Cc: Stefan Hajnoczi <stefanha@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Fam Zheng <famz@redhat.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Tested-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 1422289602-17874-2-git-send-email-cornelia.huck@de.ibm.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2015-02-16 15:07:16 +00:00
..
acpi bios-linker-loader: move header to common location 2015-01-27 14:46:17 +02:00
arm target_arm: Parameterise the irq lines for armv7m_init 2015-02-05 13:37:21 +00:00
audio isa: QOM'ify ISADevice 2013-06-07 14:55:33 +02:00
block hw: Convert from BlockDriverState to BlockBackend, mostly 2014-10-20 14:02:25 +02:00
char hw/arm/digic: add UART support 2013-12-17 20:12:51 +00:00
cpu icc_bus: QOM'ify ICC 2013-12-24 18:02:18 +01:00
cris cris: Remove the CRIS PIC glue 2014-02-03 14:04:00 +00:00
i2c smbus: return -1 if nothing found at the given address 2014-05-07 19:14:46 +03:00
i386 - Migration and linuxboot fixes for 2.2 regressions 2014-12-15 16:43:42 +00:00
input input: switch hid mouse and tablet to the new input layer api. 2014-05-26 08:42:43 +02:00
intc arm: vgic device control api support 2014-02-26 17:20:00 +00:00
ipack ipack: Move IndustryPack out of hw/char/ 2014-02-14 21:11:53 +01:00
isa pc87312: Drop unused members of PC87312State 2014-10-20 14:03:50 +02:00
kvm
lm32 lm32_juart: Relocate and tidy header 2013-07-29 21:06:27 +02:00
m68k
mem pc-dimm: Add Error argument to pc_existing_dimms_capacity 2015-01-27 14:46:18 +02:00
mips hw/mips: Add API to convert KVM guest KSEG0 <-> GPA 2014-06-18 16:58:10 +02:00
misc vfio: move hw/misc/vfio.c to hw/vfio/pci.c Move vfio.h into include/hw/vfio 2014-12-19 15:24:06 -07:00
net allwinner-emac: set autonegotiation complete bit on link up 2014-04-17 21:34:06 +01:00
nvram fw_cfg_mem: expose the "data_width" property with fw_cfg_init_mem_wide() 2014-12-22 23:39:18 +00:00
pci pci: Allocate PCIe host bridge PCI ID 2015-02-13 05:46:07 +00:00
pci-host pci: Add generic PCIe host bridge 2015-02-13 05:46:07 +00:00
ppc spapr: Fix stale HTAB during live migration (KVM) 2015-01-07 16:16:26 +01:00
s390x s390: Add PCI bus support 2015-01-12 10:14:04 +01:00
scsi esp: Do not overwrite ESP_TCHI after reset 2014-11-12 10:27:03 +01:00
sh4 sh7750: Change cpu field type to SuperHCPU 2013-04-13 13:51:45 +02:00
sparc firmware_abi: move to include/hw/nvram/ 2013-06-02 18:13:54 +03:00
timer allwinner-a10-pit: implement prescaler and source selection 2014-04-17 21:34:06 +01:00
tricore target-tricore: Add board for systemmode 2014-09-01 14:49:20 +01:00
unicore32
usb usb: move ehci register defines to header file 2014-06-02 16:28:59 +02:00
vfio vfio: cleanup vfio_get_device error path, remove vfio_populate_device callback 2015-02-10 10:25:44 -07:00
virtio dataplane: endianness-aware accesses 2015-02-16 15:07:16 +00:00
xen fix QEMU build on Xen/ARM 2015-01-26 11:56:33 +00:00
boards.h hw/machine: added machine_usb wrapper 2015-01-08 17:32:27 +00:00
bt.h Preparation for usb-bt-dongle conditional build 2013-09-10 11:14:41 +02:00
compat.h virtio-pci: fix migration for pci bus master 2014-11-02 12:03:03 +02:00
devices.h arm: fix location of some include files 2013-04-15 15:16:01 +02:00
elf_ops.h loader: g_realloc(p, 0) frees and returns NULL, simplify 2014-09-29 19:44:04 +03:00
empty_slot.h
fw-path-provider.h fw-path-provider: Change GPL version to 2+ 2014-04-07 15:36:07 +02:00
hotplug.h misc: Fix new typos in comments 2015-01-15 10:44:13 +03:00
hw.h bootdevice: move code about bootorder from vl.c to bootdevice.c 2014-12-22 14:39:20 +08:00
ide.h Call pci_piix3_xen_ide_unplug from unplug_disks 2014-02-20 17:28:08 +00:00
irq.h irq: Remove qemu_irq_intercept_out 2014-10-23 16:41:25 +02:00
loader.h pc: resizeable ROM blocks 2015-01-10 21:02:23 +00:00
nmi.h cpus: Define callback for QEMU "nmi" command 2014-08-25 13:25:16 +02:00
pcmcia.h hmp: Remove "info pcmcia" 2014-10-24 12:19:11 +01:00
platform-bus.h sysbus: Add new platform bus helper device 2014-11-04 23:26:14 +01:00
ptimer.h vmstate: Make VMSTATE_STRUCT_POINTER take type, not ptr-to-type 2014-02-04 15:51:45 +01:00
qdev-core.h Add device listener interface 2015-01-20 14:24:07 +00:00
qdev-dma.h qdev: Remove hex8/32/64 property types 2014-02-14 21:12:04 +01:00
qdev-properties.h hw: Convert from BlockDriverState to BlockBackend, mostly 2014-10-20 14:02:25 +02:00
qdev.h
sd.h hw: Convert from BlockDriverState to BlockBackend, mostly 2014-10-20 14:02:25 +02:00
ssi.h ssi: Name the CS GPIO 2014-05-28 17:36:21 +02:00
stream.h Trivial grammar and spelling fixes 2013-05-01 20:55:21 +04:00
sysbus.h trivial patches for 2014-11-11 2014-11-11 14:50:10 +00:00
usb.h usb-bus: introduce a wrapper function to check speed 2014-09-23 12:51:08 +02:00