Introduce contexts for asynchronous callbacks

Add the possibility to use AIO and BHs without allowing foreign callbacks to be
run. Basically, you put your own AIOs and BHs in a separate context. For
details see the comments in the source.

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