[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v7 00/15] qapi netdev_add introspection (post-intros
From: |
Eric Blake |
Subject: |
[Qemu-devel] [PATCH v7 00/15] qapi netdev_add introspection (post-introspection cleanups subset F) |
Date: |
Fri, 20 May 2016 16:40:09 -0600 |
The end is nearly in sight! Last August, I started a process of
cleaning up qapi on top of Markus' introspection work. Several
hundred emails later, and numerous intermediate series out of
the way, I'm finally at the end of my queue of patches that were
originally sent in v5:
https://lists.gnu.org/archive/html/qemu-devel/2015-09/msg05410.html
v6 was here (yes, 5 months ago):
https://www.mail-archive.com/address@hidden/msg343192.html
Prerequisites:
My clone/JSON visitor (weak; this series is mostly orthogonal to
that one, if we want to swap the order of the two based on review
complexity):
https://www.mail-archive.com/qemu-devel%40nongnu.org/msg371555.html
Once my series are in, we should focus on Marc-Andre's cleanups.
Ideas for further qapi work - which I have NOT coded yet:
- convert more clients to use boxed commands
- get rid of has_FOO when FOO is pointer
- support default values (and get rid of has_FOO when FOO has default)
- finally QAPI-fy device_add
- consider swapping blockdev-add to use QAPI structs throughout the
code-base, rather than converting back into flat QDict and using QemuOpts
- introspection of command line options
diffstat to v6:
001/15:[down] 'qapi: Consolidate object visitors'
002/15:[0048] [FC] 'net: use Netdev instead of NetClientOptions in client init'
003/15:[down] 'qapi: Require all branches of flat union enum to be covered'
004/15:[----] [-C] 'qapi: Hide tag_name data member of variants'
005/15:[0001] [FC] 'qapi: Add type.is_empty() helper'
006/15:[0074] [FC] 'qapi: Plumb in 'box' to qapi generator lower levels'
007/15:[0031] [FC] 'qapi: Implement boxed types for commands/events'
008/15:[down] 'block: Simplify block_set_io_throttle'
009/15:[down] 'block: Simplify drive-mirror'
010/15:[down] 'qapi-event: Reduce chance of collision with event data'
011/15:[0084] [FC] 'qapi: Change Netdev into a flat union'
012/15:[----] [-C] 'net: Use correct type for bool flag'
013/15:[----] [--] 'net: Complete qapi-fication of netdev_add'
014/15:[down] 'qapi: Allow anonymous branch types in flat union'
015/15:[down] 'schema: Drop pointless empty type CpuInfoOther'
Eric Blake (13):
qapi: Consolidate object visitors
qapi: Require all branches of flat union enum to be covered
qapi: Hide tag_name data member of variants
qapi: Add type.is_empty() helper
qapi: Plumb in 'box' to qapi generator lower levels
qapi: Implement boxed types for commands/events
block: Simplify block_set_io_throttle
block: Simplify drive-mirror
qapi-event: Reduce chance of collision with event data
net: Use correct type for bool flag
net: Complete qapi-fication of netdev_add
qapi: Allow anonymous branch types in flat union
schema: Drop pointless empty type CpuInfoOther
Kővágó, Zoltán (2):
net: use Netdev instead of NetClientOptions in client init
qapi: Change Netdev into a flat union
qapi-schema.json | 74 +++++----
qapi/block-core.json | 37 ++++-
scripts/qapi.py | 123 +++++++++-----
scripts/qapi-commands.py | 21 ++-
scripts/qapi-event.py | 67 +++++---
scripts/qapi-introspect.py | 14 +-
scripts/qapi-types.py | 25 +--
scripts/qapi-visit.py | 26 +--
include/net/net.h | 7 +-
net/clients.h | 20 +--
blockdev.c | 183 ++++++++-------------
hmp.c | 72 +++-----
hw/arm/musicpal.c | 2 +-
hw/core/qdev-properties-system.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 | 10 +-
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 +-
monitor.c | 14 +-
net/dump.c | 8 +-
net/hub.c | 24 +--
net/l2tpv3.c | 8 +-
net/net.c | 161 +++++++++++-------
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 | 20 +--
tests/test-qmp-commands.c | 12 ++
docs/qapi-code-gen.txt | 24 ++-
qmp-commands.hx | 2 +-
tests/Makefile | 4 +
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-union.err | 2 +-
tests/qapi-schema/args-union.json | 3 +-
tests/qapi-schema/event-case.out | 1 +
tests/qapi-schema/flat-union-incomplete-branch.err | 1 +
.../qapi-schema/flat-union-incomplete-branch.exit | 1 +
.../qapi-schema/flat-union-incomplete-branch.json | 9 +
tests/qapi-schema/flat-union-incomplete-branch.out | 0
tests/qapi-schema/flat-union-inline.err | 2 +-
tests/qapi-schema/flat-union-inline.json | 5 +-
tests/qapi-schema/ident-with-escape.out | 2 +-
tests/qapi-schema/indented-expr.out | 4 +-
tests/qapi-schema/qapi-schema-test.json | 11 +-
tests/qapi-schema/qapi-schema-test.out | 45 ++++-
tests/qapi-schema/test-qapi.py | 21 +--
tests/qapi-schema/union-inline.err | 1 +
tests/qapi-schema/union-inline.exit | 1 +
tests/qapi-schema/union-inline.json | 4 +
tests/qapi-schema/union-inline.out | 0
86 files changed, 691 insertions(+), 534 deletions(-)
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/flat-union-incomplete-branch.err
create mode 100644 tests/qapi-schema/flat-union-incomplete-branch.exit
create mode 100644 tests/qapi-schema/flat-union-incomplete-branch.json
create mode 100644 tests/qapi-schema/flat-union-incomplete-branch.out
create mode 100644 tests/qapi-schema/union-inline.err
create mode 100644 tests/qapi-schema/union-inline.exit
create mode 100644 tests/qapi-schema/union-inline.json
create mode 100644 tests/qapi-schema/union-inline.out
--
2.5.5
- [Qemu-devel] [PATCH v7 00/15] qapi netdev_add introspection (post-introspection cleanups subset F),
Eric Blake <=
- [Qemu-devel] [PATCH v7 01/15] qapi: Consolidate object visitors, Eric Blake, 2016/05/20
- [Qemu-devel] [PATCH v7 03/15] qapi: Require all branches of flat union enum to be covered, Eric Blake, 2016/05/20
- [Qemu-devel] [PATCH v7 04/15] qapi: Hide tag_name data member of variants, Eric Blake, 2016/05/20
- [Qemu-devel] [PATCH v7 05/15] qapi: Add type.is_empty() helper, Eric Blake, 2016/05/20
- [Qemu-devel] [PATCH v7 02/15] net: use Netdev instead of NetClientOptions in client init, Eric Blake, 2016/05/20
- [Qemu-devel] [PATCH v7 06/15] qapi: Plumb in 'box' to qapi generator lower levels, Eric Blake, 2016/05/20
- [Qemu-devel] [PATCH v7 07/15] qapi: Implement boxed types for commands/events, Eric Blake, 2016/05/20
- [Qemu-devel] [PATCH v7 10/15] qapi-event: Reduce chance of collision with event data, Eric Blake, 2016/05/20
- [Qemu-devel] [PATCH v7 14/15] qapi: Allow anonymous branch types in flat union, Eric Blake, 2016/05/20
- [Qemu-devel] [PATCH v7 12/15] net: Use correct type for bool flag, Eric Blake, 2016/05/20