qemu-devel
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]