From: Marc-André Lureau <[email protected]>
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