qemu-e2k/hw/usb
David Gibson 616b5d53ae xhci: Fix some DMA host endian bugs
The xhci device does correct endian switches on the results of some DMAs
but not all.  In particular, there are many DMAs of what are essentially
arrays of 32-bit integers which never get byteswapped.  This causes them
to be interpreted incorrectly on big-endian hosts, since (as per the xhci
spec) these arrays are always little-endian in guest memory.

This patch adds some helper functions to fix these bugs.  This may not be
all the endian bugs in the xhci code, but it's certainly some of them and
the Linux guest xhci driver certainly gets further with these fixes.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-11-09 08:27:55 +01:00
..
bus.c usb: split packet result into actual_length + status 2012-11-08 18:41:46 +01:00
combined-packet.c usb/combined-packet: Move freeing of combined to usb_combined_packet_remove() 2012-11-08 18:41:47 +01:00
core.c usb: split packet result into actual_length + status 2012-11-08 18:41:46 +01:00
desc.c usb: split packet result into actual_length + status 2012-11-08 18:41:46 +01:00
desc.h usb: split packet result into actual_length + status 2012-11-08 18:41:46 +01:00
dev-audio.c usb: split packet result into actual_length + status 2012-11-08 18:41:46 +01:00
dev-bluetooth.c usb: split packet result into actual_length + status 2012-11-08 18:41:46 +01:00
dev-hid.c usb: split packet result into actual_length + status 2012-11-08 18:41:46 +01:00
dev-hub.c usb: split packet result into actual_length + status 2012-11-08 18:41:46 +01:00
dev-network.c usb: split packet result into actual_length + status 2012-11-08 18:41:46 +01:00
dev-serial.c usb: split packet result into actual_length + status 2012-11-08 18:41:46 +01:00
dev-smartcard-reader.c usb: split packet result into actual_length + status 2012-11-08 18:41:46 +01:00
dev-storage.c usb: split packet result into actual_length + status 2012-11-08 18:41:46 +01:00
dev-uas.c usb: split packet result into actual_length + status 2012-11-08 18:41:46 +01:00
dev-wacom.c usb: split packet result into actual_length + status 2012-11-08 18:41:46 +01:00
hcd-ehci-pci.c usb/ehci-pci: add helper to create ich9 usb controllers 2012-11-01 15:17:58 +01:00
hcd-ehci-sysbus.c usb/ehci: add sysbus variant 2012-11-01 13:10:10 +01:00
hcd-ehci.c ehci: Add support for packets with both data and an error status 2012-11-08 18:41:47 +01:00
hcd-ehci.h ehci: Add support for packets with both data and an error status 2012-11-08 18:41:47 +01:00
hcd-musb.c usb: split packet result into actual_length + status 2012-11-08 18:41:46 +01:00
hcd-ohci.c usb: split packet result into actual_length + status 2012-11-08 18:41:46 +01:00
hcd-uhci.c usb: split packet result into actual_length + status 2012-11-08 18:41:46 +01:00
hcd-xhci.c xhci: Fix some DMA host endian bugs 2012-11-09 08:27:55 +01:00
host-bsd.c usb: split packet result into actual_length + status 2012-11-08 18:41:46 +01:00
host-linux.c usb: split packet result into actual_length + status 2012-11-08 18:41:46 +01:00
host-stub.c
libhw.c usb: Fix usb_packet_map() in the presence of IOMMUs 2012-09-26 09:24:42 +02:00
Makefile.objs usb: Add packet combining functions 2012-11-01 15:17:58 +01:00
redirect.c usb-redir: Allow packets to have both data and an error-status 2012-11-08 18:41:46 +01:00