qemu/hw/usb
Gerd Hoffmann 55903f1d2d ehci: handle dma errors
Starting with commit 1c380f9460 dma
transfers can actually fail.  This patch makes ehci keep track
of the busmaster bit in pci config space, by setting/clearing the
dma_context pointer.  Attempts to dma without context will result
in raising HSE (Host System Error) interrupt and stopping the host
controller.

This patch fixes WinXP not booting with a usb stick attached to ehci.
Root cause is seabios activating ehci so you can boot from the stick,
and WinXP clearing the busmaster bit before resetting the host
controller, leading to ehci actually trying dma while it is disabled.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-11-16 11:27:32 +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 ehci: handle dma errors 2012-11-16 11:27:32 +01:00
hcd-ehci-sysbus.c usb/ehci: add sysbus variant 2012-11-01 13:10:10 +01:00
hcd-ehci.c ehci: handle dma errors 2012-11-16 11:27:32 +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 Merge remote-tracking branch 'bonzini/scsi-next' into staging 2012-11-14 08:50:45 -06: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: host-linux: Ignore parsing errors of the device descriptors 2012-11-16 11:27:32 +01:00
host-stub.c usb: the big rename 2012-03-13 10:15:32 +01:00
libhw.c usb: Fix (another) bug in usb_packet_map() for IOMMU handling 2012-11-16 11:27:05 +01: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