All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v9 00/37] qapi visitor cleanups (post-introspection cleanups subset E)
@ 2016-01-19 16:10 Eric Blake
  2016-01-19 16:10 ` [Qemu-devel] [PATCH v9 01/37] qobject: Document more shortcomings in our number handling Eric Blake
                   ` (37 more replies)
  0 siblings, 38 replies; 128+ messages in thread
From: Eric Blake @ 2016-01-19 16:10 UTC (permalink / raw)
  To: qemu-devel; +Cc: marcandre.lureau, armbru, Eduardo Habkost

Based on qemu.git master. Pending prerequisites:
+ Not a strong dependency, but for qapi-tests to consistently pass,
I needed a race fixed:
https://lists.gnu.org/archive/html/qemu-devel/2015-12/msg01827.html

Also available as a tag at this location:
git fetch git://repo.or.cz/qemu/ericb.git qapi-cleanupv9e

and will soon be part of my branch with the rest of the v5 series, at:
http://repo.or.cz/qemu/ericb.git/shortlog/refs/heads/qapi

v9 notes:
Rebase to master, incorporate findings from Marc-André.

001/37:[----] [--] 'qobject: Document more shortcomings in our number handling'
002/37:[----] [--] 'qapi: Avoid use of misnamed DO_UPCAST()'
003/37:[----] [--] 'qapi: Drop dead dealloc visitor variable'
004/37:[----] [--] 'hmp: Improve use of qapi visitor'
005/37:[----] [--] 'vl: Improve use of qapi visitor'
006/37:[----] [--] 'balloon: Improve use of qapi visitor'
007/37:[0002] [FC] 'qapi: Improve generated event use of qapi visitor'
008/37:[----] [--] 'qapi: Track all failures between visit_start/stop'
009/37:[0005] [FC] 'qapi: Prefer type_int64 over type_int in visitors'
010/37:[0009] [FC] 'qapi: Make all visitors supply uint64 callbacks'
011/37:[----] [--] 'qapi: Consolidate visitor small integer callbacks'
012/37:[----] [--] 'qapi: Don't cast Enum* to int*'
013/37:[----] [--] 'qom: Use typedef for Visitor'
014/37:[0004] [FC] 'qapi: Swap visit_* arguments for consistent 'name' placement'
015/37:[----] [-C] 'qom: Swap 'name' next to visitor in ObjectPropertyAccessor'
016/37:[----] [--] 'qapi: Swap 'name' in visit_* callbacks to match public API'
017/37:[----] [--] 'qapi: Drop unused 'kind' for struct/enum visit'
018/37:[----] [--] 'qapi: Drop unused error argument for list and implicit struct'
019/37:[----] [--] 'qmp: Fix reference-counting of qnull on empty output visit'
020/37:[----] [--] 'qmp: Don't abuse stack to track qmp-output root'
021/37:[----] [--] 'qapi: Document visitor interfaces, add assertions'
022/37:[----] [--] 'qapi: Add visit_type_null() visitor'
023/37:[down] 'qmp: Support explicit null during input visit'
024/37:[0015] [FC] 'qmp: Tighten output visitor rules'
025/37:[----] [--] 'spapr_drc: Expose 'null' in qom-get when there is no fdt'
026/37:[----] [--] 'qapi: Simplify excess input reporting in input visitors'
027/37:[----] [--] 'qapi: Add type.is_empty() helper'
028/37:[----] [--] 'qapi: Fix command with named empty argument type'
029/37:[----] [--] 'qapi: Eliminate empty visit_type_FOO_fields'
030/37:[0013] [FC] 'qapi: Canonicalize missing object to :empty'
031/37:[----] [--] 'qapi-visit: Unify struct and union visit'
032/37:[----] [--] 'qapi: Rework deallocation of partial struct'
033/37:[0003] [FC] 'qapi: Split visit_end_struct() into pieces'
034/37:[----] [--] 'qapi: Simplify semantics of visit_next_list()'
035/37:[0006] [FC] 'qapi: Change visit_type_FOO() to no longer return partial objects'
036/37:[----] [--] 'RFC: qapi: Adjust layout of FooList types'
037/37:[down] 'qapi: Update docs to match recent generator changes'

v8 notes:
https://lists.gnu.org/archive/html/qemu-devel/2015-12/msg03863.html
Four new patches (13-16/35), plus rebasing on top of them, so that
the code base now consistently passes a 'v, name' pair anywhere a
visitor needs a name, rather than putting other arguments in between
the pair. I got to have fun with Coccinelle   Also fix a bug in my
changes to visit_next_list() (v7 29/31), so that 'make check' and
qemu-iotests now pass at all points in the series.

The parameter ordering changes have the potential to be a rebase
magnet, so I'm hoping this series can go in relatively soon after
Markus returns from break.

I made good on my threat in v7 of writing a qapi-to-JSON output
visitor, but that will remain a separate series based on this one
(the only posting of that series so far now needs rebasing:
https://lists.gnu.org/archive/html/qemu-devel/2015-12/msg01760.html)

v7 notes:
https://lists.gnu.org/archive/html/qemu-devel/2015-12/msg01181.html

v6 notes:
https://lists.gnu.org/archive/html/qemu-devel/2015-11/msg05793.html

v5 and earlier - look in the mail archives

Eric Blake (37):
  qobject: Document more shortcomings in our number handling
  qapi: Avoid use of misnamed DO_UPCAST()
  qapi: Drop dead dealloc visitor variable
  hmp: Improve use of qapi visitor
  vl: Improve use of qapi visitor
  balloon: Improve use of qapi visitor
  qapi: Improve generated event use of qapi visitor
  qapi: Track all failures between visit_start/stop
  qapi: Prefer type_int64 over type_int in visitors
  qapi: Make all visitors supply uint64 callbacks
  qapi: Consolidate visitor small integer callbacks
  qapi: Don't cast Enum* to int*
  qom: Use typedef for Visitor
  qapi: Swap visit_* arguments for consistent 'name' placement
  qom: Swap 'name' next to visitor in ObjectPropertyAccessor
  qapi: Swap 'name' in visit_* callbacks to match public API
  qapi: Drop unused 'kind' for struct/enum visit
  qapi: Drop unused error argument for list and implicit struct
  qmp: Fix reference-counting of qnull on empty output visit
  qmp: Don't abuse stack to track qmp-output root
  qapi: Document visitor interfaces, add assertions
  qapi: Add visit_type_null() visitor
  qmp: Support explicit null during input visit
  qmp: Tighten output visitor rules
  spapr_drc: Expose 'null' in qom-get when there is no fdt
  qapi: Simplify excess input reporting in input visitors
  qapi: Add type.is_empty() helper
  qapi: Fix command with named empty argument type
  qapi: Eliminate empty visit_type_FOO_fields
  qapi: Canonicalize missing object to :empty
  qapi-visit: Unify struct and union visit
  qapi: Rework deallocation of partial struct
  qapi: Split visit_end_struct() into pieces
  qapi: Simplify semantics of visit_next_list()
  qapi: Change visit_type_FOO() to no longer return partial objects
  RFC: qapi: Adjust layout of FooList types
  qapi: Update docs to match recent generator changes

 backends/hostmem.c                      |  24 +--
 block/qapi.c                            |   2 +-
 blockdev.c                              |   4 +-
 bootdevice.c                            |  12 +-
 docs/qapi-code-gen.txt                  | 130 +++++++-----
 hmp.c                                   |  23 ++-
 hw/acpi/core.c                          |   4 +-
 hw/acpi/ich9.c                          |  49 ++---
 hw/block/nvme.c                         |  12 +-
 hw/core/machine.c                       |  24 +--
 hw/core/qdev-properties-system.c        |  44 ++--
 hw/core/qdev-properties.c               | 180 ++++++++--------
 hw/core/qdev.c                          |   7 +-
 hw/i386/pc.c                            |  43 ++--
 hw/ide/qdev.c                           |  12 +-
 hw/intc/xics.c                          |  20 +-
 hw/isa/lpc_ich9.c                       |   7 +-
 hw/mem/pc-dimm.c                        |   6 +-
 hw/misc/edu.c                           |   6 +-
 hw/misc/tmp105.c                        |  12 +-
 hw/net/ne2000-isa.c                     |  14 +-
 hw/pci-host/piix.c                      |  18 +-
 hw/pci-host/q35.c                       |  23 +--
 hw/ppc/spapr_drc.c                      |  43 ++--
 hw/usb/dev-storage.c                    |  12 +-
 hw/virtio/virtio-balloon.c              |  43 ++--
 include/qapi/qmp-output-visitor.h       |   1 +
 include/qapi/visitor-impl.h             | 106 ++++++----
 include/qapi/visitor.h                  | 298 ++++++++++++++++++++++++---
 include/qom/object.h                    |  13 +-
 memory.c                                |  26 +--
 net/dump.c                              |  12 +-
 net/filter-buffer.c                     |  14 +-
 net/net.c                               |   4 +-
 numa.c                                  |   6 +-
 qapi/opts-visitor.c                     | 121 ++++++-----
 qapi/qapi-dealloc-visitor.c             | 108 ++++------
 qapi/qapi-visit-core.c                  | 352 +++++++++++++++++---------------
 qapi/qmp-input-visitor.c                | 188 ++++++++++-------
 qapi/qmp-output-visitor.c               | 166 +++++++--------
 qapi/string-input-visitor.c             |  93 +++++----
 qapi/string-output-visitor.c            |  88 ++++----
 qemu-img.c                              |  11 +-
 qobject/json-parser.c                   |   4 +-
 qobject/qjson.c                         |   8 +-
 qom/object.c                            | 129 ++++++------
 replay/replay-input.c                   |   4 +-
 scripts/qapi-commands.py                |  21 +-
 scripts/qapi-event.py                   |  22 +-
 scripts/qapi-types.py                   |  13 +-
 scripts/qapi-visit.py                   | 264 ++++++++++++------------
 scripts/qapi.py                         |  37 ++--
 target-i386/cpu.c                       |  96 ++++-----
 target-ppc/translate_init.c             |  12 +-
 tests/qapi-schema/event-case.out        |   2 +-
 tests/qapi-schema/flat-union-empty.out  |   1 +
 tests/qapi-schema/ident-with-escape.out |   1 +
 tests/qapi-schema/indented-expr.out     |   4 +-
 tests/qapi-schema/qapi-schema-test.json |   2 +
 tests/qapi-schema/qapi-schema-test.out  |  47 ++++-
 tests/qapi-schema/union-clash-data.out  |   2 +
 tests/qapi-schema/union-empty.out       |   1 +
 tests/test-opts-visitor.c               |   6 +-
 tests/test-qdev-global-props.c          |  18 +-
 tests/test-qmp-commands.c               |  20 +-
 tests/test-qmp-input-strict.c           |  47 ++---
 tests/test-qmp-input-visitor.c          | 117 ++++++-----
 tests/test-qmp-output-visitor.c         |  38 ++--
 tests/test-string-input-visitor.c       |  34 +--
 tests/test-string-output-visitor.c      |  16 +-
 tests/test-visitor-serialization.c      |  54 ++---
 util/qemu-sockets.c                     |   4 +-
 vl.c                                    |  29 +--
 73 files changed, 1920 insertions(+), 1514 deletions(-)

-- 
2.5.0

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

end of thread, other threads:[~2016-02-17  4:57 UTC | newest]

Thread overview: 128+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-01-19 16:10 [Qemu-devel] [PATCH v9 00/37] qapi visitor cleanups (post-introspection cleanups subset E) Eric Blake
2016-01-19 16:10 ` [Qemu-devel] [PATCH v9 01/37] qobject: Document more shortcomings in our number handling Eric Blake
2016-01-20  9:02   ` Markus Armbruster
2016-01-20 15:55     ` Eric Blake
2016-01-21  6:21       ` Markus Armbruster
2016-01-21 17:12         ` Eric Blake
2016-01-21 17:29         ` Daniel P. Berrange
2016-01-19 16:10 ` [Qemu-devel] [PATCH v9 02/37] qapi: Avoid use of misnamed DO_UPCAST() Eric Blake
2016-01-20 10:04   ` Markus Armbruster
2016-01-20 15:59     ` Eric Blake
2016-01-21  6:22       ` Markus Armbruster
2016-01-19 16:10 ` [Qemu-devel] [PATCH v9 03/37] qapi: Drop dead dealloc visitor variable Eric Blake
2016-01-19 16:10 ` [Qemu-devel] [PATCH v9 04/37] hmp: Improve use of qapi visitor Eric Blake
2016-01-20 13:05   ` Markus Armbruster
2016-01-19 16:10 ` [Qemu-devel] [PATCH v9 05/37] vl: " Eric Blake
2016-01-20 13:43   ` Markus Armbruster
2016-01-20 16:18     ` Eric Blake
2016-01-21  6:45       ` Markus Armbruster
2016-01-19 16:10 ` [Qemu-devel] [PATCH v9 06/37] balloon: " Eric Blake
2016-01-20 14:09   ` Markus Armbruster
2016-01-19 16:10 ` [Qemu-devel] [PATCH v9 07/37] qapi: Improve generated event " Eric Blake
2016-01-20 15:19   ` Markus Armbruster
2016-01-20 17:10     ` Eric Blake
2016-01-21  7:16       ` Markus Armbruster
2016-01-26 23:40       ` Eric Blake
2016-01-28 22:51     ` Eric Blake
2016-01-19 16:10 ` [Qemu-devel] [PATCH v9 08/37] qapi: Track all failures between visit_start/stop Eric Blake
2016-01-20 16:03   ` Markus Armbruster
2016-01-20 17:15     ` Eric Blake
2016-01-21  7:19       ` Markus Armbruster
2016-01-19 16:10 ` [Qemu-devel] [PATCH v9 09/37] qapi: Prefer type_int64 over type_int in visitors Eric Blake
2016-01-20 17:07   ` Markus Armbruster
2016-01-19 16:10 ` [Qemu-devel] [PATCH v9 10/37] qapi: Make all visitors supply uint64 callbacks Eric Blake
2016-01-20 17:29   ` Markus Armbruster
2016-01-20 18:10     ` Eric Blake
2016-01-21  8:56       ` Markus Armbruster
2016-01-21 17:22         ` Eric Blake
2016-01-19 16:10 ` [Qemu-devel] [PATCH v9 11/37] qapi: Consolidate visitor small integer callbacks Eric Blake
2016-01-20 17:34   ` Markus Armbruster
2016-01-20 18:17     ` Eric Blake
2016-01-21  9:05       ` Markus Armbruster
2016-01-19 16:10 ` [Qemu-devel] [PATCH v9 12/37] qapi: Don't cast Enum* to int* Eric Blake
2016-01-20 18:08   ` Markus Armbruster
2016-01-20 19:58     ` Eric Blake
2016-01-21  9:08       ` Markus Armbruster
2016-01-19 16:10 ` [Qemu-devel] [PATCH v9 13/37] qom: Use typedef for Visitor Eric Blake
2016-01-19 16:10 ` [Qemu-devel] [PATCH v9 14/37] qapi: Swap visit_* arguments for consistent 'name' placement Eric Blake
2016-01-20 18:28   ` Markus Armbruster
2016-01-19 16:10 ` [Qemu-devel] [PATCH v9 15/37] qom: Swap 'name' next to visitor in ObjectPropertyAccessor Eric Blake
2016-01-20 18:49   ` Markus Armbruster
2016-01-20 20:54     ` Eric Blake
2016-01-21  9:18       ` Markus Armbruster
2016-01-21  9:46         ` Kevin Wolf
2016-01-21 10:04           ` Markus Armbruster
2016-01-19 16:10 ` [Qemu-devel] [PATCH v9 16/37] qapi: Swap 'name' in visit_* callbacks to match public API Eric Blake
2016-01-20 18:55   ` Markus Armbruster
2016-01-20 21:01     ` Eric Blake
2016-01-21  9:19       ` Markus Armbruster
2016-01-19 16:10 ` [Qemu-devel] [PATCH v9 17/37] qapi: Drop unused 'kind' for struct/enum visit Eric Blake
2016-01-20 18:59   ` Markus Armbruster
2016-01-19 16:10 ` [Qemu-devel] [PATCH v9 18/37] qapi: Drop unused error argument for list and implicit struct Eric Blake
2016-01-20 19:03   ` Markus Armbruster
2016-01-20 21:58     ` Eric Blake
2016-01-21  9:47       ` Markus Armbruster
2016-01-19 16:10 ` [Qemu-devel] [PATCH v9 19/37] qmp: Fix reference-counting of qnull on empty output visit Eric Blake
2016-01-21 10:27   ` Markus Armbruster
2016-01-21 13:19     ` Markus Armbruster
2016-01-19 16:10 ` [Qemu-devel] [PATCH v9 20/37] qmp: Don't abuse stack to track qmp-output root Eric Blake
2016-01-21 13:58   ` Markus Armbruster
2016-01-29  3:06     ` Eric Blake
2016-01-19 16:10 ` [Qemu-devel] [PATCH v9 21/37] qapi: Document visitor interfaces, add assertions Eric Blake
2016-01-21 20:08   ` Markus Armbruster
2016-01-22  0:30     ` Eric Blake
2016-01-22 12:18       ` Markus Armbruster
2016-02-10  0:23         ` Eric Blake
2016-02-10  7:38           ` Markus Armbruster
2016-01-19 16:10 ` [Qemu-devel] [PATCH v9 22/37] qapi: Add visit_type_null() visitor Eric Blake
2016-01-22 17:00   ` Markus Armbruster
2016-01-19 16:10 ` [Qemu-devel] [PATCH v9 23/37] qmp: Support explicit null during input visit Eric Blake
2016-01-22 17:12   ` Markus Armbruster
2016-02-01 23:52     ` Eric Blake
2016-01-19 16:10 ` [Qemu-devel] [PATCH v9 24/37] qmp: Tighten output visitor rules Eric Blake
2016-01-22 19:11   ` Markus Armbruster
2016-01-19 16:10 ` [Qemu-devel] [PATCH v9 25/37] spapr_drc: Expose 'null' in qom-get when there is no fdt Eric Blake
2016-01-22 19:15   ` Markus Armbruster
2016-01-19 16:10 ` [Qemu-devel] [PATCH v9 26/37] qapi: Simplify excess input reporting in input visitors Eric Blake
2016-01-22 19:24   ` Markus Armbruster
2016-01-22 19:37     ` Eric Blake
2016-01-25  9:27       ` Markus Armbruster
2016-01-25 10:43         ` Laszlo Ersek
2016-01-27 13:54   ` [Qemu-devel] [PATCH 0/3] qapi-visit: Unify struct and union visit Markus Armbruster
2016-01-27 13:54     ` [Qemu-devel] [PATCH 1/3] qapi-visit: Simplify how we visit common union members Markus Armbruster
2016-01-27 21:48       ` Eric Blake
2016-01-27 13:54     ` [Qemu-devel] [PATCH 2/3] qapi-visit: Clean up code generated around visit_end_union() Markus Armbruster
2016-01-27 14:02       ` Eric Blake
2016-01-27 14:46         ` Markus Armbruster
2016-01-27 13:54     ` [Qemu-devel] [PATCH 3/3] qapi-visit: Unify struct and union visit Markus Armbruster
2016-01-19 16:10 ` [Qemu-devel] [PATCH v9 27/37] qapi: Add type.is_empty() helper Eric Blake
2016-01-25 14:15   ` Markus Armbruster
2016-01-19 16:10 ` [Qemu-devel] [PATCH v9 28/37] qapi: Fix command with named empty argument type Eric Blake
2016-01-25 15:03   ` Markus Armbruster
2016-01-19 16:10 ` [Qemu-devel] [PATCH v9 29/37] qapi: Eliminate empty visit_type_FOO_fields Eric Blake
2016-01-25 17:04   ` Markus Armbruster
2016-02-17  4:57     ` Eric Blake
2016-01-19 16:10 ` [Qemu-devel] [PATCH v9 30/37] qapi: Canonicalize missing object to :empty Eric Blake
2016-01-25 19:04   ` Markus Armbruster
2016-01-26 16:29     ` Markus Armbruster
2016-01-27  8:00       ` Markus Armbruster
2016-01-19 16:10 ` [Qemu-devel] [PATCH v9 31/37] qapi-visit: Unify struct and union visit Eric Blake
2016-01-27 14:12   ` Markus Armbruster
2016-01-19 16:10 ` [Qemu-devel] [PATCH v9 32/37] qapi: Rework deallocation of partial struct Eric Blake
2016-01-27 16:41   ` Markus Armbruster
2016-01-19 16:10 ` [Qemu-devel] [PATCH v9 33/37] qapi: Split visit_end_struct() into pieces Eric Blake
2016-01-27 17:20   ` Markus Armbruster
2016-01-19 16:10 ` [Qemu-devel] [PATCH v9 34/37] qapi: Simplify semantics of visit_next_list() Eric Blake
2016-01-28 13:37   ` Markus Armbruster
2016-01-19 16:10 ` [Qemu-devel] [PATCH v9 35/37] qapi: Change visit_type_FOO() to no longer return partial objects Eric Blake
2016-01-28 15:24   ` Markus Armbruster
2016-01-28 17:05     ` Eric Blake
2016-01-29 12:03       ` Markus Armbruster
2016-01-29 15:13         ` Eric Blake
2016-01-19 16:10 ` [Qemu-devel] [PATCH v9 36/37] RFC: qapi: Adjust layout of FooList types Eric Blake
2016-01-28 15:34   ` Markus Armbruster
2016-01-28 17:23     ` Eric Blake
2016-01-29  8:19       ` Markus Armbruster
2016-01-19 16:10 ` [Qemu-devel] [PATCH v9 37/37] qapi: Update docs to match recent generator changes Eric Blake
2016-01-28 15:37   ` Markus Armbruster
2016-01-28 17:56 ` [Qemu-devel] [PATCH v9 00/37] qapi visitor cleanups (post-introspection cleanups subset E) 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.