Introduce reset notifier order

Add the parameter 'order' to qemu_register_reset and sort callbacks on
registration. On system reset, callbacks with lower order will be
invoked before those with higher order. Update all existing users to the
standard order 0.

Note: At least for x86, the existing users seem to assume that handlers
are called in their registration order. Therefore, the patch preserves
this property. If someone feels bored, (s)he could try to identify this
dependency and express it properly on callback registration.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
74 files changed
tree: fff3d6f590833c0f894a6c7c300ab126b5259d95
  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