This series completes the conversion of current QMP query commands to the QAPI framework. IOW, with this series applied no single query command will be building QObjects by hand.
This series also contains two fixes and some cleanups. One of the fixes solves a problem with the generated code which ignores errors. The other fixes a missing error declaration in QError. There are two important details about this series that should be observed: 1. This is a bit late in the development process. Although there's a lot of code churn involved, query commands are relatively simple: most of them don't return errors and they don't take parameters. I've also tested them as much as I could. I'm not saying it's bug-free, but I believe we have enough time for fixing any outstanding issues. 2. Most query commands makes use of QAPI's list type. Unfortunately, the simplest way to build a list reverses the order of listings in HMP (ie. the "info cpus" command starts at the last CPU). To avoid this, I'm building lists by hand the old way for now. In the short term the QAPI will be changed to use glib's list support. balloon.c | 72 +----- balloon.h | 6 +- block.c | 234 ++++++------------ block.h | 5 - block_int.h | 4 +- console.h | 9 - cpus.c | 45 ++++ error.c | 3 +- hmp-commands.hx | 3 +- hmp.c | 407 ++++++++++++++++++++++++++++++ hmp.h | 10 + hw/pci-stub.c | 15 +- hw/pci.c | 322 +++++++++--------------- hw/pci.h | 4 - hw/virtio-balloon.c | 78 +----- input.c | 64 ++---- migration.c | 82 ++----- monitor.c | 313 ++---------------------- monitor.h | 2 + qapi-schema.json | 616 ++++++++++++++++++++++++++++++++++++++++++++++ qerror.c | 4 + qmp-commands.hx | 60 +++++- qmp.c | 27 ++ scripts/qapi-commands.py | 4 +- ui/spice-core.c | 139 +++++------ ui/vnc.c | 135 +++++++---- vl.c | 2 +- 27 files changed, 1611 insertions(+), 1054 deletions(-)