All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v5 00/20] qapi: remove the 'middle' mode
@ 2016-08-17 16:57 Marc-André Lureau
  2016-08-17 16:57 ` [Qemu-devel] [PATCH v5 01/20] tests: do qmp introspect validation per target Marc-André Lureau
                   ` (19 more replies)
  0 siblings, 20 replies; 31+ messages in thread
From: Marc-André Lureau @ 2016-08-17 16:57 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().

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

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

end of thread, other threads:[~2016-09-09 12:43 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-08-17 16:57 [Qemu-devel] [PATCH v5 00/20] qapi: remove the 'middle' mode Marc-André Lureau
2016-08-17 16:57 ` [Qemu-devel] [PATCH v5 01/20] tests: do qmp introspect validation per target Marc-André Lureau
2016-08-17 16:57 ` [Qemu-devel] [PATCH v5 02/20] qapi.py: add a simple #ifdef conditional Marc-André Lureau
2016-09-06 12:35   ` Markus Armbruster
2016-09-06 13:17     ` Marc-André Lureau
2016-09-06 15:58       ` Markus Armbruster
2016-09-06 16:44         ` Marc-André Lureau
2016-09-07  8:44           ` Markus Armbruster
2016-09-07 13:40             ` Markus Armbruster
2016-09-07 14:23               ` Marc-André Lureau
2016-09-07 18:49               ` Eric Blake
2016-08-17 16:57 ` [Qemu-devel] [PATCH v5 03/20] build-sys: make qemu qapi per-target Marc-André Lureau
2016-08-17 16:57 ` [Qemu-devel] [PATCH v5 04/20] build-sys: use config headers to generate qapi Marc-André Lureau
2016-08-17 16:57 ` [Qemu-devel] [PATCH v5 05/20] qapi: configure the schema Marc-André Lureau
2016-08-17 16:57 ` [Qemu-devel] [PATCH v5 06/20] build-sys: define QEMU_VERSION_{MAJOR, MINOR, MICRO} Marc-André Lureau
2016-08-17 16:57 ` [Qemu-devel] [PATCH v5 07/20] qapi-schema: use generated marshaller for 'qmp_capabilities' Marc-André Lureau
2016-08-17 16:57 ` [Qemu-devel] [PATCH v5 08/20] qapi-schema: add 'device_add' Marc-André Lureau
2016-08-17 16:57 ` [Qemu-devel] [PATCH v5 09/20] monitor: simplify invalid_qmp_mode() Marc-André Lureau
2016-08-17 16:57 ` [Qemu-devel] [PATCH v5 10/20] monitor: register gen:false commands manually Marc-André Lureau
2016-08-17 16:57 ` [Qemu-devel] [PATCH v5 11/20] qapi: export the marshallers Marc-André Lureau
2016-08-17 16:57 ` [Qemu-devel] [PATCH v5 12/20] monitor: use qmp_find_command() (using generated qapi code) Marc-André Lureau
2016-08-17 16:57 ` [Qemu-devel] [PATCH v5 13/20] monitor: implement 'qmp_query_commands' without qmp_cmds Marc-André Lureau
2016-08-17 16:57 ` [Qemu-devel] [PATCH v5 14/20] monitor: remove mhandler.cmd_new Marc-André Lureau
2016-08-17 16:57 ` [Qemu-devel] [PATCH v5 15/20] qapi: remove the "middle" mode Marc-André Lureau
2016-08-17 16:57 ` [Qemu-devel] [PATCH v5 16/20] qapi: check invalid arguments on no-args commands Marc-André Lureau
2016-08-17 16:57 ` [Qemu-devel] [PATCH v5 17/20] monitor: use qmp_dispatch() Marc-André Lureau
2016-08-17 17:04   ` Marc-André Lureau
2016-08-17 16:57 ` [Qemu-devel] [PATCH v5 18/20] build-sys: remove qmp-commands-old.h Marc-André Lureau
2016-08-17 16:57 ` [Qemu-devel] [PATCH v5 19/20] qmp-commands.hx: fix some styling Marc-André Lureau
2016-08-17 16:57 ` [Qemu-devel] [PATCH v5 20/20] Replace qmp-commands.hx by doc/qmp-commands.txt Marc-André Lureau
2016-09-09 12:43   ` 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.