Added Sysbus variant of EHCI and attached it to Xilinx Zynq. The EHCI stuff is going to useful for Tegra too.
See http://lists.gnu.org/archive/html/qemu-devel/2012-06/msg04100.html thread for the inital RFC discussion on this development. Regession tested using i386 Debian (dd of=/dev/sdx ...) to get some test coverage outside of Zynq. More testing welcome. Few other bits and pieces of cleanup in there too, around the EHCI_DEBUG printfery. The series will rebase without conflict on the current pending usb patch queue (usb.68). Changed since V2: No more usages of unions, seperated out PCI and Sysbus structs and codepaths completely. Removed init_ram hack for unimplemented EHCI regions. Removed debug message cleanup patch (conflicts with pending USB [PULL] (usb.68)) Changed since V1: Overhauled properties - moved them to class properties rather than object properties. Various Review based fixes (Please see individual patch change logs) Peter Crosthwaite (7): usb/ehci: Use class_data to init PCI variations usb/ehci: parameterise the register region offsets usb/ehci: Abstract away PCI DMA API usb/ehci: seperate out PCIisms usb/ehci: Add Sysbus variant and Xilinx Zynq USB xilinx_zynq: add USB controllers usb/ehci: Guard definition of EHCI_DEBUG Peter Maydell (1): dma: Define dma_context_memory and use in sysbus-ohci dma.h | 5 + exec.c | 5 + hw/usb/hcd-ehci.c | 339 +++++++++++++++++++++++++++++++++++------------------ hw/usb/hcd-ohci.c | 2 +- hw/xilinx_zynq.c | 3 + 5 files changed, 238 insertions(+), 116 deletions(-)