Add common BusState

Implement and use a common device bus state.  The main side-effect is
that creating a bus and attaching it to a parent device are no longer
separate operations.  For legacy code we allow a NULL parent, but that
should go away eventually.

Also tweak creation code to veriry theat a device in on the right bus.

Signed-off-by: Paul Brook <paul@codesourcery.com>
30 files changed
tree: e9b1099baa55c3f8084110feb28f57ede8d2de3a
  1. audio/
  2. block/
  3. bsd-user/
  4. darwin-user/
  5. fpu/
  6. gdb-xml/
  7. hw/
  8. keymaps/
  9. linux-user/
  10. pc-bios/
  11. slirp/
  12. target-alpha/
  13. target-arm/
  14. target-cris/
  15. target-i386/
  16. target-m68k/
  17. target-mips/
  18. target-ppc/
  19. target-sh4/
  20. target-sparc/
  21. tcg/
  22. tests/
  23. .gitignore
  24. a.out.h
  25. acl.c
  26. acl.h
  27. aes.c
  28. aes.h
  29. aio.c
  30. alpha-dis.c
  31. alpha.ld
  32. arm-dis.c
  33. arm-semi.c
  34. arm.ld
  35. balloon.h
  36. block.c
  37. block.h
  38. block_int.h
  39. bswap.h
  40. bt-host.c
  41. bt-host.h
  42. bt-vhci.c
  43. buffered_file.c
  44. buffered_file.h
  45. cache-utils.c
  46. cache-utils.h
  47. Changelog
  48. cmd.c
  49. cmd.h
  50. cocoa.m
  51. CODING_STYLE
  52. configure
  53. console.c
  54. console.h
  55. COPYING
  56. COPYING.LIB
  57. cpu-all.h
  58. cpu-common.h
  59. cpu-defs.h
  60. cpu-exec.c
  61. cris-dis.c
  62. curses.c
  63. curses_keys.h
  64. cutils.c
  65. d3des.c
  66. d3des.h
  67. def-helper.h
  68. device_tree.c
  69. device_tree.h
  70. dis-asm.h
  71. disas.c
  72. disas.h
  73. dma-helpers.c
  74. dma.h
  75. dyngen-exec.h
  76. elf.h
  77. elf_ops.h
  78. exec-all.h
  79. exec.c
  80. feature_to_c.sh
  81. gdbstub.c
  82. gdbstub.h
  83. gen-icount.h
  84. host-utils.c
  85. host-utils.h
  86. hostregs_helper.h
  87. hpet.h
  88. hppa-dis.c
  89. hppa.ld
  90. hxtool
  91. i386-dis.c
  92. i386.ld
  93. ia64.ld
  94. keymaps.c
  95. keymaps.h
  96. kqemu.c
  97. kqemu.h
  98. kvm-all.c
  99. kvm.h
  100. libfdt_env.h
  101. LICENSE
  102. loader.c
  103. m68k-dis.c
  104. m68k-semi.c
  105. m68k.ld
  106. MAINTAINERS
  107. Makefile
  108. Makefile.hw
  109. Makefile.target
  110. migration-exec.c
  111. migration-tcp.c
  112. migration.c
  113. migration.h
  114. mips-dis.c
  115. mips.ld
  116. mipsel.ld
  117. module.c
  118. module.h
  119. monitor.c
  120. monitor.h
  121. nbd.c
  122. nbd.h
  123. net-checksum.c
  124. net.c
  125. net.h
  126. osdep.c
  127. osdep.h
  128. pci-ids.txt
  129. posix-aio-compat.c
  130. posix-aio-compat.h
  131. ppc-dis.c
  132. ppc.ld
  133. ppc64.ld
  134. qemu-aio.h
  135. qemu-binfmt-conf.sh
  136. qemu-char.c
  137. qemu-char.h
  138. qemu-common.h
  139. qemu-doc.texi
  140. qemu-img.c
  141. qemu-img.texi
  142. qemu-io.c
  143. qemu-lock.h
  144. qemu-log.h
  145. qemu-malloc.c
  146. qemu-nbd.c
  147. qemu-nbd.texi
  148. qemu-option.c
  149. qemu-option.h
  150. qemu-options.hx
  151. qemu-sockets.c
  152. qemu-tech.texi
  153. qemu-thread.c
  154. qemu-thread.h
  155. qemu-timer.h
  156. qemu-tool.c
  157. qemu.sasl
  158. qemu_socket.h
  159. readline.c
  160. readline.h
  161. README
  162. rules.mak
  163. s390-dis.c
  164. s390.ld
  165. savevm.c
  166. sdl.c
  167. sdl_keysym.h
  168. sh4-dis.c
  169. softmmu-semi.h
  170. softmmu_defs.h
  171. softmmu_exec.h
  172. softmmu_header.h
  173. softmmu_template.h
  174. sparc-dis.c
  175. sparc.ld
  176. sparc64.ld
  177. sys-queue.h
  178. sysemu.h
  179. tap-win32.c
  180. targphys.h
  181. texi2pod.pl
  182. thunk.c
  183. thunk.h
  184. TODO
  185. tool-osdep.c
  186. translate-all.c
  187. uboot_image.h
  188. usb-bsd.c
  189. usb-linux.c
  190. usb-stub.c
  191. VERSION
  192. vgafont.h
  193. vl.c
  194. vnc-auth-sasl.c
  195. vnc-auth-sasl.h
  196. vnc-auth-vencrypt.c
  197. vnc-auth-vencrypt.h
  198. vnc-tls.c
  199. vnc-tls.h
  200. vnc.c
  201. vnc.h
  202. vnc_keysym.h
  203. vnchextile.h
  204. x86_64.ld
  205. x_keymap.c
  206. x_keymap.h