From: Marc-André Lureau <marcandre.lur...@redhat.com> Hi,
Although some QMP commands are still not fully qapi'fied, it is possible to use more qapi common and generated code by dropping the 'middle' mode and use qmp_dispatch(). v4: - export all marshaller functions (so we can keep calling them after middle mode is removed), remove 'export-marshal' patch - get rid of unnecessary lambda in python code (leftover), remove second mcgen(), and outdated comment - remove disabled commands at run-time to avoid any regression. It's now on my TODO list to fix qapi generator in 2.8 to have conditionals - move qmp-commands.txt to doc/ - split the last patch, remove trailing ws - add QEMU_VERSION_{MAJOR,MINOR,MICRO} patch, simplifying qmp_query_version() (could be applied outside this series) - update commit title/messages/order v3: - add a reference to docs/qmp-spec.txt in qmp_capabilities doc - remove 'props' from device_add doc, improve example - replace a g_strcmp0 with more appropriate g_str_equal - add 'export-marshal' command generator key patch - call qmp_marshal_query_version() directly (also get rid of the need to do a make clean, since the qapi json is modified) - add patch to check invalid arguments on no-args (the old dispatch code checks that), and a test - patch reordering to fix intermediate builds - commit messages improvements - split some misc doc fixes in last patch - add some r-b and rebase v2: - rebased on master - add Since: 0.13 to qmp_capabilities and device_add documentation - fix device_add doc - add missing spaces after ',' in get_qmp_greeting() - fix some grammar in monitor.c while touching it Marc-André Lureau (17): build-sys: define QEMU_VERSION_{MAJOR,MINOR,MICRO} qapi-schema: use generated marshaller for 'qmp_capabilities' qapi-schema: add 'device_add' monitor: simplify invalid_qmp_mode() monitor: register gen:false commands manually monitor: unregister conditional commands qapi: export the marshallers monitor: use qmp_find_command() (using generated qapi code) monitor: implement 'qmp_query_commands' without qmp_cmds monitor: remove mhandler.cmd_new qapi: remove the "middle" mode qapi: check invalid arguments on no-args commands qmp: update qmp_query_spice fallback monitor: use qmp_dispatch() build-sys: remove qmp-commands-old.h Replace qmp-commands.hx by doc/qmp-commands.txt qmp-commands.txt: fix some styling monitor.c | 430 +++------- qmp.c | 32 +- tests/test-qmp-commands.c | 15 + vl.c | 1 + scripts/create_config | 6 + scripts/qapi-commands.py | 76 +- .gitignore | 1 - MAINTAINERS | 1 - Makefile | 8 +- Makefile.target | 7 +- docs/qapi-code-gen.txt | 6 +- qmp-commands.hx => docs/qmp-commands.txt | 1275 +----------------------------- docs/writing-qmp-commands.txt | 46 +- hmp-commands-info.hx | 118 +-- hmp-commands.hx | 208 ++--- qapi-schema.json | 61 ++ trace-events | 1 - 17 files changed, 425 insertions(+), 1867 deletions(-) rename qmp-commands.hx => docs/qmp-commands.txt (82%) -- 2.9.0