All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v6 00/18] qapi: remove the 'middle' mode
@ 2016-09-12  9:18 Marc-André Lureau
  2016-09-12  9:18 ` [Qemu-devel] [PATCH v6 01/18] build-sys: define QEMU_VERSION_{MAJOR, MINOR, MICRO} Marc-André Lureau
                   ` (18 more replies)
  0 siblings, 19 replies; 33+ messages in thread
From: Marc-André Lureau @ 2016-09-12  9:18 UTC (permalink / raw)
  To: qemu-devel; +Cc: eblake, armbru, Marc-André Lureau

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().

v6:
- get back to v4 approach, and unregister commands at run-time. (Markus Armbruster)
- comments and commit messages improvements. (Markus Armbruster)
- remove #ifdef/per-target qapi build. (Markus Armbruster)

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 (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
  qmp: Hack to keep commands configuration-specific
  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
  tests: add a test to check invalid args
  monitor: use qmp_dispatch()
  build-sys: remove qmp-commands-old.h
  qmp-commands.hx: fix some styling
  Replace qmp-commands.hx by docs/qmp-commands.txt

Markus Armbruster (1):
  qapi: Support unregistering QMP commands

 monitor.c                                |  424 +++-------
 qapi/qmp-registry.c                      |    8 +
 qmp.c                                    |   16 +-
 tests/test-qga.c                         |   21 +
 tests/test-qmp-commands.c                |   15 +
 vl.c                                     |    1 +
 Makefile                                 |    8 +-
 Makefile.target                          |    7 +-
 scripts/create_config                    |    6 +
 scripts/qapi-commands.py                 |   81 +-
 .gitignore                               |    1 -
 MAINTAINERS                              |    1 -
 docs/qapi-code-gen.txt                   |    6 +-
 qmp-commands.hx => docs/qmp-commands.txt | 1297 +-----------------------------
 docs/writing-qmp-commands.txt            |   46 +-
 hmp-commands-info.hx                     |  118 +--
 hmp-commands.hx                          |  208 ++---
 include/qapi/qmp/dispatch.h              |    1 +
 qapi-schema.json                         |   61 ++
 trace-events                             |    1 -
 20 files changed, 458 insertions(+), 1869 deletions(-)
 rename qmp-commands.hx => docs/qmp-commands.txt (81%)

-- 
2.10.0

^ permalink raw reply	[flat|nested] 33+ messages in thread

end of thread, other threads:[~2016-09-21  6:15 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-12  9:18 [Qemu-devel] [PATCH v6 00/18] qapi: remove the 'middle' mode Marc-André Lureau
2016-09-12  9:18 ` [Qemu-devel] [PATCH v6 01/18] build-sys: define QEMU_VERSION_{MAJOR, MINOR, MICRO} Marc-André Lureau
2016-09-12 20:05   ` Eric Blake
2016-09-13  7:33     ` Markus Armbruster
2016-09-13 15:02       ` Eric Blake
2016-09-12  9:18 ` [Qemu-devel] [PATCH v6 02/18] qapi-schema: use generated marshaller for 'qmp_capabilities' Marc-André Lureau
2016-09-12  9:18 ` [Qemu-devel] [PATCH v6 03/18] qapi-schema: add 'device_add' Marc-André Lureau
2016-09-12  9:18 ` [Qemu-devel] [PATCH v6 04/18] monitor: simplify invalid_qmp_mode() Marc-André Lureau
2016-09-12  9:19 ` [Qemu-devel] [PATCH v6 05/18] monitor: register gen:false commands manually Marc-André Lureau
2016-09-12  9:19 ` [Qemu-devel] [PATCH v6 06/18] qapi: Support unregistering QMP commands Marc-André Lureau
2016-09-12  9:19 ` [Qemu-devel] [PATCH v6 07/18] qmp: Hack to keep commands configuration-specific Marc-André Lureau
2016-09-12  9:19 ` [Qemu-devel] [PATCH v6 08/18] qapi: export the marshallers Marc-André Lureau
2016-09-12  9:19 ` [Qemu-devel] [PATCH v6 09/18] monitor: use qmp_find_command() (using generated qapi code) Marc-André Lureau
2016-09-12  9:19 ` [Qemu-devel] [PATCH v6 10/18] monitor: implement 'qmp_query_commands' without qmp_cmds Marc-André Lureau
2016-09-12  9:19 ` [Qemu-devel] [PATCH v6 11/18] monitor: remove mhandler.cmd_new Marc-André Lureau
2016-09-12  9:19 ` [Qemu-devel] [PATCH v6 12/18] qapi: remove the "middle" mode Marc-André Lureau
2016-09-12  9:19 ` [Qemu-devel] [PATCH v6 13/18] qapi: check invalid arguments on no-args commands Marc-André Lureau
2016-09-12  9:19 ` [Qemu-devel] [PATCH v6 14/18] tests: add a test to check invalid args Marc-André Lureau
2016-09-12 11:23   ` Markus Armbruster
2016-09-12  9:19 ` [Qemu-devel] [PATCH v6 15/18] monitor: use qmp_dispatch() Marc-André Lureau
2016-09-20 14:48   ` Alberto Garcia
2016-09-20 21:58     ` Marc-André Lureau
2016-09-20 22:00       ` Marc-André Lureau
2016-09-21  6:15         ` Markus Armbruster
2016-09-12  9:19 ` [Qemu-devel] [PATCH v6 16/18] build-sys: remove qmp-commands-old.h Marc-André Lureau
2016-09-12  9:19 ` [Qemu-devel] [PATCH v6 17/18] qmp-commands.hx: fix some styling Marc-André Lureau
2016-09-12  9:19 ` [Qemu-devel] [PATCH v6 18/18] Replace qmp-commands.hx by docs/qmp-commands.txt Marc-André Lureau
2016-09-12 21:22   ` Eric Blake
2016-09-13  7:37     ` Markus Armbruster
2016-09-12 21:52   ` Peter Maydell
2016-09-12 22:37     ` Marc-André Lureau
2016-09-13  7:41       ` Markus Armbruster
2016-09-12 11:46 ` [Qemu-devel] [PATCH v6 00/18] qapi: remove the 'middle' mode Markus Armbruster

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.