From: Eric Blake <eblake@redhat.com>
To: qemu-devel@nongnu.org
Cc: marcandre.lureau@redhat.com, armbru@redhat.com,
Eduardo Habkost <ehabkost@redhat.com>,
DirtY.iCE.hu@gmail.com
Subject: [Qemu-devel] [PATCH RFC v4 00/29] qapi-ify netdev_add, and other post-introspection cleanups
Date: Wed, 9 Sep 2015 22:06:02 -0600 [thread overview]
Message-ID: <1441857991-7309-1-git-send-email-eblake@redhat.com> (raw)
Still RFC because it depends on Markus' RFC v5 (actually his
qapi-introspect branch at commit 87e905b):
https://lists.gnu.org/archive/html/qemu-devel/2015-09/msg01599.html
v1 was here:
https://lists.gnu.org/archive/html/qemu-devel/2015-07/msg05266.html
https://lists.gnu.org/archive/html/qemu-devel/2015-07/msg05325.html
In v2:
https://lists.gnu.org/archive/html/qemu-devel/2015-08/msg00900.html
rebase to Markus' v3 series
rework how comments are emitted for fields inherited from base
additional patches added for deleting colliding 'void *data'
documentation updates to match code changes
In v3:
https://lists.gnu.org/archive/html/qemu-devel/2015-08/msg02059.html
redo cleanup of dealloc of partial struct
add patches to make all visit_type_*() avoid leaks on failure
add patches to allow boxed command arguments and events
In v4:
add some more clean up patches
rebase to Markus' recent work
pull in part of Zoltán's work to make netdev_add a flat union,
further enhancing it to be introspectible
I might be able to rearrange some of these patches, or separate
it into smaller independent series, if requested; but I'm
posting now to get review started.
Eric Blake (27):
qapi: Provide nicer array names in introspection
qapi: use 'type' in generated C code to match QMP union wire form
vnc: hoist allocation of VncBasicInfo to callers
qapi: Unbox base members
qapi-visit: Remove redundant functions for flat union base
qapi: Test use of 'number' within alternates
qapi: Simplify visiting of alternate types
qapi: Hide tag_name data member of variants
qapi: Fix alternates that accept 'number' but not 'int'
qapi: Don't pass pre-existing error to later call
qapi: Use consistent generated code patterns
qapi: Add tests for empty unions
qapi: Rework deallocation of partial struct
qapi: Avoid use of 'data' member of qapi unions
qapi: Forbid empty unions and useless alternates
qapi: Drop useless 'data' member of unions
qapi: Remove dead visitor code
qapi: Document visitor interfaces
qapi: Plug leaks in test-qmp-input-visitor
qapi: Test failure in middle of array parse
qapi: Change visit_type_FOO() to no longer return partial objects
qapi: Plumb in 'box' to qapi generator lower levels
qapi: Implement boxed structs for commands/events
qapi: Support boxed unions
qapi: Clean up qapi.py per pep8
net: Use correct type for bool flag
net: Complete qapi-fication of netdev_add
Kővágó, Zoltán (2):
net: use Netdev instead of NetClientOptions in client init
qapi: Change Netdev into a flat union
block/qcow2.c | 2 +-
block/vmdk.c | 2 +-
blockdev.c | 34 ++--
docs/qapi-code-gen.txt | 47 +++--
hmp.c | 18 +-
hw/arm/musicpal.c | 2 +-
hw/core/qdev-properties-system.c | 2 +-
hw/input/hid.c | 2 +-
hw/input/ps2.c | 2 +-
hw/input/virtio-input-hid.c | 2 +-
hw/mem/pc-dimm.c | 2 +-
hw/net/allwinner_emac.c | 2 +-
hw/net/cadence_gem.c | 2 +-
hw/net/dp8393x.c | 2 +-
hw/net/e1000.c | 2 +-
hw/net/eepro100.c | 2 +-
hw/net/etraxfs_eth.c | 2 +-
hw/net/fsl_etsec/etsec.c | 2 +-
hw/net/imx_fec.c | 2 +-
hw/net/lan9118.c | 2 +-
hw/net/lance.c | 2 +-
hw/net/mcf_fec.c | 2 +-
hw/net/milkymist-minimac2.c | 2 +-
hw/net/mipsnet.c | 2 +-
hw/net/ne2000-isa.c | 2 +-
hw/net/ne2000.c | 2 +-
hw/net/opencores_eth.c | 2 +-
hw/net/pcnet-pci.c | 2 +-
hw/net/rocker/rocker_fp.c | 2 +-
hw/net/rtl8139.c | 2 +-
hw/net/smc91c111.c | 2 +-
hw/net/spapr_llan.c | 2 +-
hw/net/stellaris_enet.c | 2 +-
hw/net/vhost_net.c | 18 +-
hw/net/virtio-net.c | 6 +-
hw/net/vmxnet3.c | 2 +-
hw/net/xen_nic.c | 2 +-
hw/net/xgmac.c | 2 +-
hw/net/xilinx_axienet.c | 2 +-
hw/net/xilinx_ethlite.c | 2 +-
hw/usb/dev-network.c | 4 +-
include/net/net.h | 7 +-
include/qapi/visitor-impl.h | 55 ++++--
include/qapi/visitor.h | 222 ++++++++++++++++++++++--
monitor.c | 14 +-
net/clients.h | 20 +--
net/dump.c | 8 +-
net/hub.c | 24 +--
net/l2tpv3.c | 8 +-
net/net.c | 180 +++++++++++---------
net/netmap.c | 6 +-
net/slirp.c | 8 +-
net/socket.c | 10 +-
net/tap-win32.c | 8 +-
net/tap.c | 28 +--
net/vde.c | 8 +-
net/vhost-user.c | 14 +-
numa.c | 4 +-
qapi-schema.json | 72 +++++---
qapi/qapi-dealloc-visitor.c | 26 ---
qapi/qapi-visit-core.c | 158 +++++++----------
qapi/qmp-input-visitor.c | 8 +-
qemu-char.c | 24 +--
qmp-commands.hx | 2 +-
scripts/qapi-commands.py | 101 ++++++-----
scripts/qapi-event.py | 75 ++++----
scripts/qapi-introspect.py | 12 +-
scripts/qapi-types.py | 83 +++------
scripts/qapi-visit.py | 164 ++++++++++--------
scripts/qapi.py | 284 ++++++++++++++++++++-----------
tests/Makefile | 6 +-
tests/qapi-schema/alternate-empty.err | 1 +
tests/qapi-schema/alternate-empty.exit | 1 +
tests/qapi-schema/alternate-empty.json | 2 +
tests/qapi-schema/alternate-empty.out | 0
tests/qapi-schema/alternate-good.out | 1 -
tests/qapi-schema/alternate-nested.json | 2 +-
tests/qapi-schema/alternate-unknown.json | 2 +-
tests/qapi-schema/args-bad-box.err | 1 +
tests/qapi-schema/args-bad-box.exit | 1 +
tests/qapi-schema/args-bad-box.json | 2 +
tests/qapi-schema/args-bad-box.out | 0
tests/qapi-schema/args-box-anon.err | 1 +
tests/qapi-schema/args-box-anon.exit | 1 +
tests/qapi-schema/args-box-anon.json | 2 +
tests/qapi-schema/args-box-anon.out | 0
tests/qapi-schema/args-box-empty.err | 1 +
tests/qapi-schema/args-box-empty.exit | 1 +
tests/qapi-schema/args-box-empty.json | 2 +
tests/qapi-schema/args-box-empty.out | 0
tests/qapi-schema/args-member-array.out | 2 +-
tests/qapi-schema/args-union.err | 2 +-
tests/qapi-schema/args-union.json | 3 +-
tests/qapi-schema/event-case.out | 1 +
tests/qapi-schema/flat-union-empty.err | 1 +
tests/qapi-schema/flat-union-empty.exit | 1 +
tests/qapi-schema/flat-union-empty.json | 4 +
tests/qapi-schema/flat-union-empty.out | 0
tests/qapi-schema/ident-with-escape.out | 2 +-
tests/qapi-schema/indented-expr.out | 4 +-
tests/qapi-schema/qapi-schema-test.json | 15 +-
tests/qapi-schema/qapi-schema-test.out | 49 ++++--
tests/qapi-schema/returns-int.out | 2 +-
tests/qapi-schema/test-qapi.py | 12 +-
tests/qapi-schema/union-empty.err | 1 +
tests/qapi-schema/union-empty.exit | 1 +
tests/qapi-schema/union-empty.json | 2 +
tests/qapi-schema/union-empty.out | 0
tests/test-qmp-commands.c | 40 ++---
tests/test-qmp-event.c | 8 +-
tests/test-qmp-input-visitor.c | 198 ++++++++++++++++++---
tests/test-qmp-output-visitor.c | 39 +++--
tests/test-visitor-serialization.c | 14 +-
tpm.c | 2 +-
ui/input-keymap.c | 10 +-
ui/input-legacy.c | 2 +-
ui/input.c | 24 +--
ui/spice-core.c | 23 +--
ui/vnc.c | 64 +++----
util/qemu-sockets.c | 12 +-
120 files changed, 1471 insertions(+), 924 deletions(-)
create mode 100644 tests/qapi-schema/alternate-empty.err
create mode 100644 tests/qapi-schema/alternate-empty.exit
create mode 100644 tests/qapi-schema/alternate-empty.json
create mode 100644 tests/qapi-schema/alternate-empty.out
create mode 100644 tests/qapi-schema/args-bad-box.err
create mode 100644 tests/qapi-schema/args-bad-box.exit
create mode 100644 tests/qapi-schema/args-bad-box.json
create mode 100644 tests/qapi-schema/args-bad-box.out
create mode 100644 tests/qapi-schema/args-box-anon.err
create mode 100644 tests/qapi-schema/args-box-anon.exit
create mode 100644 tests/qapi-schema/args-box-anon.json
create mode 100644 tests/qapi-schema/args-box-anon.out
create mode 100644 tests/qapi-schema/args-box-empty.err
create mode 100644 tests/qapi-schema/args-box-empty.exit
create mode 100644 tests/qapi-schema/args-box-empty.json
create mode 100644 tests/qapi-schema/args-box-empty.out
create mode 100644 tests/qapi-schema/flat-union-empty.err
create mode 100644 tests/qapi-schema/flat-union-empty.exit
create mode 100644 tests/qapi-schema/flat-union-empty.json
create mode 100644 tests/qapi-schema/flat-union-empty.out
create mode 100644 tests/qapi-schema/union-empty.err
create mode 100644 tests/qapi-schema/union-empty.exit
create mode 100644 tests/qapi-schema/union-empty.json
create mode 100644 tests/qapi-schema/union-empty.out
--
2.4.3
next reply other threads:[~2015-09-10 4:06 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-10 4:06 Eric Blake [this message]
2015-09-10 4:06 ` [Qemu-devel] [PATCH RFC v4 01/29] qapi: Provide nicer array names in introspection Eric Blake
2015-09-10 4:06 ` [Qemu-devel] [PATCH RFC v4 02/29] net: use Netdev instead of NetClientOptions in client init Eric Blake
2015-09-10 4:06 ` [Qemu-devel] [PATCH RFC v4 03/29] qapi: use 'type' in generated C code to match QMP union wire form Eric Blake
2015-09-10 4:06 ` [Qemu-devel] [PATCH RFC v4 04/29] vnc: hoist allocation of VncBasicInfo to callers Eric Blake
2015-09-10 4:06 ` [Qemu-devel] [PATCH RFC v4 05/29] qapi: Unbox base members Eric Blake
2015-09-10 4:06 ` [Qemu-devel] [PATCH RFC v4 06/29] qapi-visit: Remove redundant functions for flat union base Eric Blake
2015-09-10 4:06 ` [Qemu-devel] [PATCH RFC v4 07/29] qapi: Test use of 'number' within alternates Eric Blake
2015-09-10 4:06 ` [Qemu-devel] [PATCH RFC v4 08/29] qapi: Simplify visiting of alternate types Eric Blake
2015-09-10 4:06 ` [Qemu-devel] [PATCH RFC v4 09/29] qapi: Hide tag_name data member of variants Eric Blake
2015-09-10 4:06 ` [Qemu-devel] [PATCH RFC v4 10/29] qapi: Fix alternates that accept 'number' but not 'int' Eric Blake
2015-09-10 4:06 ` [Qemu-devel] [PATCH RFC v4 11/29] qapi: Don't pass pre-existing error to later call Eric Blake
2015-09-10 4:06 ` [Qemu-devel] [PATCH RFC v4 12/29] qapi: Use consistent generated code patterns Eric Blake
2015-09-10 4:06 ` [Qemu-devel] [PATCH RFC v4 13/29] qapi: Add tests for empty unions Eric Blake
2015-09-10 4:06 ` [Qemu-devel] [PATCH RFC v4 14/29] qapi: Rework deallocation of partial struct Eric Blake
2015-09-10 4:06 ` [Qemu-devel] [PATCH RFC v4 15/29] qapi: Avoid use of 'data' member of qapi unions Eric Blake
2015-09-10 4:06 ` [Qemu-devel] [PATCH RFC v4 16/29] qapi: Forbid empty unions and useless alternates Eric Blake
2015-09-10 4:06 ` [Qemu-devel] [PATCH RFC v4 17/29] qapi: Drop useless 'data' member of unions Eric Blake
2015-09-10 4:06 ` [Qemu-devel] [PATCH RFC v4 18/29] qapi: Remove dead visitor code Eric Blake
2015-09-10 4:06 ` [Qemu-devel] [PATCH RFC v4 19/29] qapi: Document visitor interfaces Eric Blake
2015-09-10 4:06 ` [Qemu-devel] [PATCH RFC v4 20/29] qapi: Plug leaks in test-qmp-input-visitor Eric Blake
2015-09-10 4:06 ` [Qemu-devel] [PATCH RFC v4 21/29] qapi: Test failure in middle of array parse Eric Blake
2015-09-10 4:06 ` [Qemu-devel] [PATCH RFC v4 22/29] qapi: Change visit_type_FOO() to no longer return partial objects Eric Blake
2015-09-10 4:06 ` [Qemu-devel] [PATCH RFC v4 23/29] qapi: Plumb in 'box' to qapi generator lower levels Eric Blake
2015-09-10 4:06 ` [Qemu-devel] [PATCH RFC v4 24/29] qapi: Implement boxed structs for commands/events Eric Blake
2015-09-10 4:06 ` [Qemu-devel] [PATCH RFC v4 25/29] qapi: Support boxed unions Eric Blake
2015-09-10 4:06 ` [Qemu-devel] [PATCH RFC v4 26/29] qapi: Clean up qapi.py per pep8 Eric Blake
2015-09-10 4:06 ` [Qemu-devel] [PATCH RFC v4 27/29] qapi: Change Netdev into a flat union Eric Blake
2015-09-17 9:15 ` Wen Congyang
2015-09-17 14:34 ` Eric Blake
2015-09-17 20:11 ` Eric Blake
2015-09-18 0:52 ` Wen Congyang
2015-09-18 6:56 ` Markus Armbruster
2015-09-18 8:36 ` Wen Congyang
2015-09-18 12:37 ` Eric Blake
2015-09-18 12:36 ` Eric Blake
2015-09-18 9:03 ` Yang Hongyang
2015-09-18 12:29 ` Eric Blake
2015-09-10 4:06 ` [Qemu-devel] [PATCH RFC v4 28/29] net: Use correct type for bool flag Eric Blake
2015-09-10 4:06 ` [Qemu-devel] [PATCH RFC v4 29/29] net: Complete qapi-fication of netdev_add Eric Blake
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1441857991-7309-1-git-send-email-eblake@redhat.com \
--to=eblake@redhat.com \
--cc=DirtY.iCE.hu@gmail.com \
--cc=armbru@redhat.com \
--cc=ehabkost@redhat.com \
--cc=marcandre.lureau@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).