qemu-kvm: Don't break device assignment INTx

Commit 1a836445 moved pci.o from a target object to a generic hardware
object, which drops CONFIG_KVM_DEVICE_ASSIGNMENT.  This results in
the device assignment kludge to update INTx vectors on interrupt
routing changes never getting called, which means device assignment
level triggered interrupts don't work.  This mostly reverts that
commit, but makes pci.o conditional on CONFIG_PCI, which hopefully
addresses the original intent of the change.  Fixes:

https://bugs.launchpad.net/qemu/+bug/730441

Reported-by: Yongjie Ren <yongjie.ren@intel.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
(cherry picked from commit 2124d7b42c2f0d88460d12fd33123fe67cad286f)
2 files changed
tree: 0a8bcea4b987688d96c95ad616b5e294a0ee4a82
  1. audio/
  2. block/
  3. bsd-user/
  4. compat/
  5. darwin-user/
  6. default-configs/
  7. docs/
  8. fpu/
  9. fsdev/
  10. gdb-xml/
  11. hw/
  12. kvm/
  13. linux-user/
  14. net/
  15. pc-bios/
  16. QMP/
  17. roms/
  18. scripts/
  19. slirp/
  20. sysconfigs/
  21. target-alpha/
  22. target-arm/
  23. target-cris/
  24. target-i386/
  25. target-ia64/
  26. target-m68k/
  27. target-microblaze/
  28. target-mips/
  29. target-ppc/
  30. target-s390x/
  31. target-sh4/
  32. target-sparc/
  33. tcg/
  34. tests/
  35. ui/
  36. .gitignore
  37. .gitmodules
  38. a.out.h
  39. acl.c
  40. acl.h
  41. aes.c
  42. aes.h
  43. aio.c
  44. alpha-dis.c
  45. alpha.ld
  46. arch_init.c
  47. arch_init.h
  48. arm-dis.c
  49. arm-semi.c
  50. arm.ld
  51. async.c
  52. balloon.c
  53. balloon.h
  54. block-migration.c
  55. block-migration.h
  56. block.c
  57. block.h
  58. block_int.h
  59. blockdev.c
  60. blockdev.h
  61. bswap.h
  62. bt-host.c
  63. bt-host.h
  64. bt-vhci.c
  65. buffered_file.c
  66. buffered_file.h
  67. cache-utils.c
  68. cache-utils.h
  69. Changelog
  70. check-qdict.c
  71. check-qfloat.c
  72. check-qint.c
  73. check-qjson.c
  74. check-qlist.c
  75. check-qstring.c
  76. cmd.c
  77. cmd.h
  78. CODING_STYLE
  79. compatfd.c
  80. compatfd.h
  81. config.h
  82. configure
  83. console.c
  84. console.h
  85. COPYING
  86. COPYING.LIB
  87. cpu-all.h
  88. cpu-common.h
  89. cpu-defs.h
  90. cpu-exec.c
  91. cpus.c
  92. cpus.h
  93. cris-dis.c
  94. cursor.c
  95. cursor_hidden.xpm
  96. cursor_left_ptr.xpm
  97. cutils.c
  98. def-helper.h
  99. device_tree.c
  100. device_tree.h
  101. dis-asm.h
  102. disas.c
  103. disas.h
  104. dma-helpers.c
  105. dma.h
  106. dyngen-exec.h
  107. elf.h
  108. envlist.c
  109. envlist.h
  110. exec-all.h
  111. exec.c
  112. gdbstub.c
  113. gdbstub.h
  114. gen-icount.h
  115. HACKING
  116. hmp-commands.hx
  117. host-utils.c
  118. host-utils.h
  119. hpet.h
  120. hppa-dis.c
  121. hppa.ld
  122. i386-dis.c
  123. i386.ld
  124. ia64-dis.c
  125. ia64.ld
  126. ia64intrin.h
  127. input.c
  128. ioport-user.c
  129. ioport.c
  130. ioport.h
  131. iorange.h
  132. iov.c
  133. iov.h
  134. json-lexer.c
  135. json-lexer.h
  136. json-parser.c
  137. json-parser.h
  138. json-streamer.c
  139. json-streamer.h
  140. kvm-all.c
  141. kvm-stub.c
  142. kvm-tpr-opt.c
  143. kvm.h
  144. libfdt_env.h
  145. LICENSE
  146. linux-aio.c
  147. m68k-dis.c
  148. m68k-semi.c
  149. m68k.ld
  150. MAINTAINERS
  151. Makefile
  152. Makefile.dis
  153. Makefile.hw
  154. Makefile.objs
  155. Makefile.target
  156. Makefile.user
  157. microblaze-dis.c
  158. migration-exec.c
  159. migration-fd.c
  160. migration-tcp.c
  161. migration-unix.c
  162. migration.c
  163. migration.h
  164. mips-dis.c
  165. mips.ld
  166. module.c
  167. module.h
  168. monitor.c
  169. monitor.h
  170. nbd.c
  171. nbd.h
  172. net-checksum.c
  173. net.c
  174. net.h
  175. notify.c
  176. notify.h
  177. os-posix.c
  178. os-win32.c
  179. osdep.c
  180. osdep.h
  181. oslib-posix.c
  182. oslib-win32.c
  183. path.c
  184. pci-ids.txt
  185. pflib.c
  186. pflib.h
  187. poison.h
  188. posix-aio-compat.c
  189. ppc-dis.c
  190. ppc.ld
  191. ppc64.ld
  192. qbool.c
  193. qbool.h
  194. qdict-test-data.txt
  195. qdict.c
  196. qdict.h
  197. qemu-aio.h
  198. qemu-barrier.h
  199. qemu-char.c
  200. qemu-char.h
  201. qemu-common.h
  202. qemu-config.c
  203. qemu-config.h
  204. qemu-doc.texi
  205. qemu-error.c
  206. qemu-error.h
  207. qemu-img-cmds.hx
  208. qemu-img.c
  209. qemu-img.texi
  210. qemu-io.c
  211. qemu-kvm-ia64.c
  212. qemu-kvm-x86.c
  213. qemu-kvm.c
  214. qemu-kvm.h
  215. qemu-lock.h
  216. qemu-log.h
  217. qemu-malloc.c
  218. qemu-nbd.c
  219. qemu-nbd.texi
  220. qemu-objects.h
  221. qemu-option.c
  222. qemu-option.h
  223. qemu-options.h
  224. qemu-options.hx
  225. qemu-os-posix.h
  226. qemu-os-win32.h
  227. qemu-queue.h
  228. qemu-sockets.c
  229. qemu-tech.texi
  230. qemu-thread.c
  231. qemu-thread.h
  232. qemu-timer-common.c
  233. qemu-timer.c
  234. qemu-timer.h
  235. qemu-tool.c
  236. qemu-x509.h
  237. qemu.sasl
  238. qemu_socket.h
  239. qerror.c
  240. qerror.h
  241. qfloat.c
  242. qfloat.h
  243. qint.c
  244. qint.h
  245. qjson.c
  246. qjson.h
  247. qlist.c
  248. qlist.h
  249. qmp-commands.hx
  250. qobject.h
  251. qstring.c
  252. qstring.h
  253. range.h
  254. readline.c
  255. readline.h
  256. README
  257. rules.mak
  258. rwhandler.c
  259. rwhandler.h
  260. s390-dis.c
  261. s390.ld
  262. savevm.c
  263. sh4-dis.c
  264. simpletrace.c
  265. simpletrace.h
  266. softmmu-semi.h
  267. softmmu_defs.h
  268. softmmu_exec.h
  269. softmmu_header.h
  270. softmmu_template.h
  271. sparc-dis.c
  272. sparc.ld
  273. sparc64.ld
  274. spice-qemu-char.c
  275. sysemu.h
  276. targphys.h
  277. tcg-runtime.c
  278. thunk.c
  279. thunk.h
  280. TODO
  281. trace-events
  282. translate-all.c
  283. uboot_image.h
  284. usb-bsd.c
  285. usb-linux.c
  286. usb-stub.c
  287. VERSION
  288. version.rc
  289. vgafont.h
  290. vl.c
  291. x86_64.ld