pci: add default pci subsystem id for all devices (Gerd Hoffman)

This sets a default PCI subsystem ID for all emulated PCI devices.  PCI
specs require this, so do it.

In many cases it is enougth to know the PCI ID to handle a device
correctly.  Sometimes a device driver must identify the exact piece of
hardware (via PCI Subsystem ID) though.

What does this patch to qemu devices:

Right now the emulated PCI devices have no PCI subsystem ID, only the
PCI ID.  The discussed patch sets a default PCI subsystem ID for all
emulated devices.  Which will make the qemu devices look pretty much
like in the laptop case: all PCI subsystem IDs will point to qemu by
default.

If a driver emulates a very specific piece of hardware where it has to
emulate more than just the PCI chip, it can overwrite the PCI subsystem
ID without problems.  The es1370 driver does that for example.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>



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