hpet: Add MSI support

This implements the HPET capability of routing IRQs to the front-side
bus, aka MSI support. This feature can be enabled via the qdev property
"msi" and is off by default.

Note that switching it on can cause guests (at least Linux) to use the
HPET as timer instead of the LAPIC. KVM users should recall that only
the latter is currently available as fast in-kernel model.

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