This is a rebase of Anthony's conversion, from his glib branch; and this is also the beginning of the conversion of complex commands to the qapi.
There are two important changes that should be observed: 1. patch 5/6 purges the 'mon' object from migration code. One of the consequences is that we lose the ability to print progress status to the HMP user (esp. in block migration) 2. The HMP hmp_migrate() command is a bit tricky when in non-detached mode: we lock the monitor and poll for the migration status from a timer handler. This obviously assumes that migration will end at some point Besides, this is missing testing with libvirt. I plan to do it shortly, but wanted to get some review in parallel. arch_init.c | 2 +- block-migration.c | 58 ++++++++++++++++++----------------------- check-qdict.c | 29 ++++++++++++++++++++ error.c | 12 ++++++++ error.h | 5 +++ hmp-commands.hx | 3 +- hmp.c | 51 ++++++++++++++++++++++++++++++++++++ hmp.h | 1 + migration-fd.c | 2 +- migration.c | 74 +++++++++++++++-------------------------------------- migration.h | 5 +--- monitor.c | 5 +++ monitor.h | 1 + qapi-schema.json | 21 +++++++++++++++ qdict.c | 18 +++++++++++++ qdict.h | 1 + qerror.c | 8 +++++ qerror.h | 6 ++++ qmp-commands.hx | 9 +----- savevm.c | 42 ++++++++++++++--------------- sysemu.h | 11 +++---- vmstate.h | 3 +- 22 files changed, 235 insertions(+), 132 deletions(-)