[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH RFC v3 00/20] post-introspection qapi cleanups
From: |
Eric Blake |
Subject: |
[Qemu-devel] [PATCH RFC v3 00/20] post-introspection qapi cleanups |
Date: |
Tue, 18 Aug 2015 07:19:42 -0700 |
Still RFC because it depends on Markus' RFC v3:
https://lists.gnu.org/archive/html/qemu-devel/2015-08/msg00426.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:
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
Eric Blake (20):
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: 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: Change visit_type_XXX() 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
block/qcow2.c | 2 +-
block/vmdk.c | 2 +-
blockdev.c | 34 ++---
docs/qapi-code-gen.txt | 47 ++++---
hmp.c | 18 +--
hw/input/hid.c | 2 +-
hw/input/ps2.c | 2 +-
hw/input/virtio-input-hid.c | 2 +-
hw/mem/pc-dimm.c | 2 +-
include/qapi/visitor-impl.h | 55 +++++---
include/qapi/visitor.h | 214 ++++++++++++++++++++++++++++---
net/dump.c | 2 +-
net/hub.c | 2 +-
net/l2tpv3.c | 2 +-
net/net.c | 20 +--
net/slirp.c | 2 +-
net/socket.c | 2 +-
net/tap.c | 4 +-
net/vhost-user.c | 2 +-
numa.c | 4 +-
qapi/qapi-dealloc-visitor.c | 26 ----
qapi/qapi-visit-core.c | 158 +++++++++--------------
qapi/qmp-input-visitor.c | 8 +-
qemu-char.c | 24 ++--
scripts/qapi-commands.py | 101 +++++++++------
scripts/qapi-event.py | 76 ++++++-----
scripts/qapi-introspect.py | 4 +-
scripts/qapi-types.py | 75 +++--------
scripts/qapi-visit.py | 159 +++++++++++++----------
scripts/qapi.py | 109 +++++++++++-----
tests/Makefile | 5 +-
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 | 47 +++++--
tests/qapi-schema/returns-int.out | 2 +-
tests/qapi-schema/test-qapi.py | 8 +-
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 | 140 ++++++++++++++++++--
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 +-
80 files changed, 1034 insertions(+), 626 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
- [Qemu-devel] [PATCH RFC v3 00/20] post-introspection qapi cleanups,
Eric Blake <=
- [Qemu-devel] [PATCH RFC v3 05/20] qapi: Test use of 'number' within alternates, Eric Blake, 2015/08/18
- [Qemu-devel] [PATCH RFC v3 01/20] qapi: use 'type' in generated C code to match QMP union wire form, Eric Blake, 2015/08/18
- [Qemu-devel] [PATCH RFC v3 06/20] qapi: Simplify visiting of alternate types, Eric Blake, 2015/08/18
- [Qemu-devel] [PATCH RFC v3 07/20] qapi: Fix alternates that accept 'number' but not 'int', Eric Blake, 2015/08/18
- [Qemu-devel] [PATCH RFC v3 09/20] qapi: Use consistent generated code patterns, Eric Blake, 2015/08/18
- [Qemu-devel] [PATCH RFC v3 08/20] qapi: Don't pass pre-existing error to later call, Eric Blake, 2015/08/18
- [Qemu-devel] [PATCH RFC v3 10/20] qapi: Add tests for empty unions, Eric Blake, 2015/08/18
- [Qemu-devel] [PATCH RFC v3 11/20] qapi: Rework deallocation of partial struct, Eric Blake, 2015/08/18
- [Qemu-devel] [PATCH RFC v3 04/20] qapi-visit: Remove redundant functions for flat union base, Eric Blake, 2015/08/18
- [Qemu-devel] [PATCH RFC v3 03/20] qapi: Unbox base members, Eric Blake, 2015/08/18