Allow monitor interaction when using migrate -exec

All,
     I've recently been playing around with migration via exec.  Unfortunately,
when starting the incoming qemu process with "-incoming exec:cmd", it suffers
the same problem that -incoming tcp used to suffer; namely, that you can't
interact with the monitor until after the migration has happened.  This causes
problems for libvirt usage of -incoming exec, since libvirt expects to be able
to access the monitor ahead of time.  This fairly simple patch allows you to
access the monitor both before and after the migration has completed using exec.

(note: developed/tested with qemu-kvm, but applies perfectly fine to qemu)

Signed-off-by: Chris Lalancette <clalance@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
3 files changed
tree: 267c6df69d20628c38875715e1f8c97551b4834b
  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-microblaze/
  18. target-mips/
  19. target-ppc/
  20. target-sh4/
  21. target-sparc/
  22. tcg/
  23. tests/
  24. .gitignore
  25. a.out.h
  26. acl.c
  27. acl.h
  28. aes.c
  29. aes.h
  30. aio.c
  31. alpha-dis.c
  32. alpha.ld
  33. arm-dis.c
  34. arm-semi.c
  35. arm.ld
  36. balloon.h
  37. block.c
  38. block.h
  39. block_int.h
  40. bswap.h
  41. bt-host.c
  42. bt-host.h
  43. bt-vhci.c
  44. buffered_file.c
  45. buffered_file.h
  46. cache-utils.c
  47. cache-utils.h
  48. Changelog
  49. cmd.c
  50. cmd.h
  51. cocoa.m
  52. CODING_STYLE
  53. configure
  54. console.c
  55. console.h
  56. COPYING
  57. COPYING.LIB
  58. cpu-all.h
  59. cpu-common.h
  60. cpu-defs.h
  61. cpu-exec.c
  62. cris-dis.c
  63. curses.c
  64. curses_keys.h
  65. cutils.c
  66. d3des.c
  67. d3des.h
  68. def-helper.h
  69. device_tree.c
  70. device_tree.h
  71. dis-asm.h
  72. disas.c
  73. disas.h
  74. dma-helpers.c
  75. dma.h
  76. dyngen-exec.h
  77. elf.h
  78. elf_ops.h
  79. exec-all.h
  80. exec.c
  81. feature_to_c.sh
  82. gdbstub.c
  83. gdbstub.h
  84. gen-icount.h
  85. host-utils.c
  86. host-utils.h
  87. hostregs_helper.h
  88. hpet.h
  89. hppa-dis.c
  90. hppa.ld
  91. hxtool
  92. i386-dis.c
  93. i386.ld
  94. ia64.ld
  95. keymaps.c
  96. keymaps.h
  97. kqemu.c
  98. kqemu.h
  99. kvm-all.c
  100. kvm.h
  101. libfdt_env.h
  102. LICENSE
  103. loader.c
  104. m68k-dis.c
  105. m68k-semi.c
  106. m68k.ld
  107. MAINTAINERS
  108. Makefile
  109. Makefile.hw
  110. Makefile.target
  111. microblaze-dis.c
  112. migration-exec.c
  113. migration-tcp.c
  114. migration.c
  115. migration.h
  116. mips-dis.c
  117. mips.ld
  118. mipsel.ld
  119. module.c
  120. module.h
  121. monitor.c
  122. monitor.h
  123. nbd.c
  124. nbd.h
  125. net-checksum.c
  126. net.c
  127. net.h
  128. osdep.c
  129. osdep.h
  130. pci-ids.txt
  131. posix-aio-compat.c
  132. posix-aio-compat.h
  133. ppc-dis.c
  134. ppc.ld
  135. ppc64.ld
  136. qemu-aio.h
  137. qemu-binfmt-conf.sh
  138. qemu-char.c
  139. qemu-char.h
  140. qemu-common.h
  141. qemu-doc.texi
  142. qemu-img.c
  143. qemu-img.texi
  144. qemu-io.c
  145. qemu-lock.h
  146. qemu-log.h
  147. qemu-malloc.c
  148. qemu-nbd.c
  149. qemu-nbd.texi
  150. qemu-option.c
  151. qemu-option.h
  152. qemu-options.hx
  153. qemu-sockets.c
  154. qemu-tech.texi
  155. qemu-thread.c
  156. qemu-thread.h
  157. qemu-timer.h
  158. qemu-tool.c
  159. qemu.sasl
  160. qemu_socket.h
  161. readline.c
  162. readline.h
  163. README
  164. rules.mak
  165. s390-dis.c
  166. s390.ld
  167. savevm.c
  168. sdl.c
  169. sdl_keysym.h
  170. sh4-dis.c
  171. softmmu-semi.h
  172. softmmu_defs.h
  173. softmmu_exec.h
  174. softmmu_header.h
  175. softmmu_template.h
  176. sparc-dis.c
  177. sparc.ld
  178. sparc64.ld
  179. sys-queue.h
  180. sysemu.h
  181. tap-win32.c
  182. targphys.h
  183. texi2pod.pl
  184. thunk.c
  185. thunk.h
  186. TODO
  187. tool-osdep.c
  188. translate-all.c
  189. uboot_image.h
  190. usb-bsd.c
  191. usb-linux.c
  192. usb-stub.c
  193. VERSION
  194. vgafont.h
  195. vl.c
  196. vnc-auth-sasl.c
  197. vnc-auth-sasl.h
  198. vnc-auth-vencrypt.c
  199. vnc-auth-vencrypt.h
  200. vnc-tls.c
  201. vnc-tls.h
  202. vnc.c
  203. vnc.h
  204. vnc_keysym.h
  205. vnchextile.h
  206. x86_64.ld
  207. x_keymap.c
  208. x_keymap.h