[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v5 00/20] qapi: remove the 'middle' mode
From: |
Marc-André Lureau |
Subject: |
[Qemu-devel] [PATCH v5 00/20] qapi: remove the 'middle' mode |
Date: |
Wed, 17 Aug 2016 20:57:37 +0400 |
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().
v5:
- replace the dynamic unregister commands approach by a few
preliminary patches to make the json schema #ifdef conditional and
per-target
- fix "check invalid arguments" patch based on Markus version
- patch reordering
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 (20):
tests: do qmp introspect validation per target
qapi.py: add a simple #ifdef conditional
build-sys: make qemu qapi per-target
build-sys: use config headers to generate qapi
qapi: configure the schema
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
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
monitor: use qmp_dispatch()
build-sys: remove qmp-commands-old.h
qmp-commands.hx: fix some styling
Replace qmp-commands.hx by doc/qmp-commands.txt
hmp.c | 2 +
monitor.c | 415 ++--------
qmp.c | 48 +-
stubs/qapi-event.c | 74 ++
tests/qmp-introspect-test.c | 50 ++
tests/test-qmp-commands.c | 15 +
tests/test-qmp-input-strict.c | 2 -
vl.c | 1 +
Makefile | 61 +-
Makefile.objs | 7 +-
Makefile.target | 32 +-
scripts/create_config | 6 +
scripts/qapi-commands.py | 81 +-
scripts/qapi.py | 43 +-
stubs/Makefile.objs | 1 +
tests/Makefile.include | 2 +
.gitignore | 1 -
MAINTAINERS | 1 -
docs/qapi-code-gen.txt | 6 +-
qmp-commands.hx => docs/qmp-commands.txt | 1278 +-----------------------------
docs/writing-qmp-commands.txt | 46 +-
hmp-commands-info.hx | 120 +--
hmp-commands.hx | 208 ++---
qapi-schema.json | 91 +++
qapi.mak | 14 +
qapi/event.json | 8 +
trace-events | 1 -
27 files changed, 667 insertions(+), 1947 deletions(-)
create mode 100644 stubs/qapi-event.c
create mode 100644 tests/qmp-introspect-test.c
rename qmp-commands.hx => docs/qmp-commands.txt (82%)
create mode 100644 qapi.mak
--
2.9.0
- [Qemu-devel] [PATCH v5 00/20] qapi: remove the 'middle' mode,
Marc-André Lureau <=
- [Qemu-devel] [PATCH v5 02/20] qapi.py: add a simple #ifdef conditional, Marc-André Lureau, 2016/08/17
- [Qemu-devel] [PATCH v5 01/20] tests: do qmp introspect validation per target, Marc-André Lureau, 2016/08/17
- [Qemu-devel] [PATCH v5 03/20] build-sys: make qemu qapi per-target, Marc-André Lureau, 2016/08/17
- [Qemu-devel] [PATCH v5 05/20] qapi: configure the schema, Marc-André Lureau, 2016/08/17
- [Qemu-devel] [PATCH v5 04/20] build-sys: use config headers to generate qapi, Marc-André Lureau, 2016/08/17
- [Qemu-devel] [PATCH v5 06/20] build-sys: define QEMU_VERSION_{MAJOR, MINOR, MICRO}, Marc-André Lureau, 2016/08/17
- [Qemu-devel] [PATCH v5 08/20] qapi-schema: add 'device_add', Marc-André Lureau, 2016/08/17
- [Qemu-devel] [PATCH v5 07/20] qapi-schema: use generated marshaller for 'qmp_capabilities', Marc-André Lureau, 2016/08/17
- [Qemu-devel] [PATCH v5 09/20] monitor: simplify invalid_qmp_mode(), Marc-André Lureau, 2016/08/17
- [Qemu-devel] [PATCH v5 11/20] qapi: export the marshallers, Marc-André Lureau, 2016/08/17