husb: rewrite Linux host USB layer, fully async operation (Max Krasnyansky)

This is a follow up to the async UHCI patch. Both BULK and ISOC transactions
are now fully asynchrounous. I left CONTROL synchronous for now, ideally
we want it to be async too and it should not be that hard to do now.

This patch obviously requires UHCI patch. The combo has been tested with
various devices. See the UHCI patch description for list of the devices.
Most of the testing was done with the KVM flavor of QEMU.

Signed-off-by: Max Krasnyansky <maxk@kernel.org>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5051 c046a42c-6fe2-441c-8c8c-71466251a162
1 file changed
tree: 44b244063fbdc5e89985a0d4de609bb2a7ad62e4
  1. audio/
  2. darwin-user/
  3. fpu/
  4. hw/
  5. keymaps/
  6. linux-user/
  7. pc-bios/
  8. slirp/
  9. target-alpha/
  10. target-arm/
  11. target-cris/
  12. target-i386/
  13. target-m68k/
  14. target-mips/
  15. target-ppc/
  16. target-sh4/
  17. target-sparc/
  18. tcg/
  19. tests/
  20. a.out.h
  21. aes.c
  22. aes.h
  23. alpha-dis.c
  24. alpha.ld
  25. arm-dis.c
  26. arm-semi.c
  27. arm.ld
  28. block-bochs.c
  29. block-cloop.c
  30. block-cow.c
  31. block-dmg.c
  32. block-nbd.c
  33. block-parallels.c
  34. block-qcow.c
  35. block-qcow2.c
  36. block-raw-posix.c
  37. block-raw-win32.c
  38. block-vmdk.c
  39. block-vpc.c
  40. block-vvfat.c
  41. block.c
  42. block.h
  43. block_int.h
  44. bswap.h
  45. Changelog
  46. check_ops.sh
  47. cocoa.m
  48. configure
  49. console.c
  50. console.h
  51. COPYING
  52. COPYING.LIB
  53. cpu-all.h
  54. cpu-defs.h
  55. cpu-exec.c
  56. cris-dis.c
  57. curses.c
  58. curses_keys.h
  59. cutils.c
  60. d3des.c
  61. d3des.h
  62. dis-asm.h
  63. disas.c
  64. disas.h
  65. dyngen-exec.h
  66. dyngen.c
  67. elf.h
  68. elf_ops.h
  69. exec-all.h
  70. exec.c
  71. gdbstub.c
  72. gdbstub.h
  73. gen-icount.h
  74. host-utils.c
  75. host-utils.h
  76. hostregs_helper.h
  77. hpet.h
  78. hppa-dis.c
  79. hppa.ld
  80. i386-dis.c
  81. i386.ld
  82. ia64.ld
  83. keymaps.c
  84. kqemu.c
  85. kqemu.h
  86. LICENSE
  87. loader.c
  88. m68k-dis.c
  89. m68k-semi.c
  90. m68k.ld
  91. MAINTAINERS
  92. Makefile
  93. Makefile.target
  94. mips-dis.c
  95. mips.ld
  96. mipsel.ld
  97. monitor.c
  98. nbd.c
  99. nbd.h
  100. net-checksum.c
  101. net.h
  102. osdep.c
  103. osdep.h
  104. ppc-dis.c
  105. ppc.ld
  106. ppc64.ld
  107. qemu-binfmt-conf.sh
  108. qemu-char.h
  109. qemu-common.h
  110. qemu-doc.texi
  111. qemu-img.c
  112. qemu-img.texi
  113. qemu-lock.h
  114. qemu-malloc.c
  115. qemu-nbd.c
  116. qemu-nbd.texi
  117. qemu-tech.texi
  118. qemu-timer.h
  119. qemu_socket.h
  120. readline.c
  121. README
  122. s390-dis.c
  123. s390.ld
  124. sdl.c
  125. sdl_keysym.h
  126. sh4-dis.c
  127. softmmu-semi.h
  128. softmmu_exec.h
  129. softmmu_header.h
  130. softmmu_template.h
  131. sparc-dis.c
  132. sparc.ld
  133. sparc64.ld
  134. sys-queue.h
  135. sysemu.h
  136. tap-win32.c
  137. texi2pod.pl
  138. thunk.c
  139. thunk.h
  140. TODO
  141. translate-all.c
  142. uboot_image.h
  143. usb-linux.c
  144. VERSION
  145. vgafont.h
  146. vl.c
  147. vnc.c
  148. vnc_keysym.h
  149. vnchextile.h
  150. x86_64.ld
  151. x_keymap.c