qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] fc76ae: qapi: change QmpOutputVisitor to QSLI


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] fc76ae: qapi: change QmpOutputVisitor to QSLIST
Date: Wed, 20 Jul 2016 08:30:06 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: fc76ae8b38783e82c109834573ba5d6f080440b5
      
https://github.com/qemu/qemu/commit/fc76ae8b38783e82c109834573ba5d6f080440b5
  Author: Paolo Bonzini <address@hidden>
  Date:   2016-07-19 (Tue, 19 Jul 2016)

  Changed paths:
    M qapi/qmp-output-visitor.c

  Log Message:
  -----------
  qapi: change QmpOutputVisitor to QSLIST

This saves a little memory compared to the doubly-linked QTAILQ.

Signed-off-by: Paolo Bonzini <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
[Comment tweaked to avoid long line]
Signed-off-by: Markus Armbruster <address@hidden>


  Commit: 3d344c2aabb7bc9b414321e3c52872901edebdda
      
https://github.com/qemu/qemu/commit/3d344c2aabb7bc9b414321e3c52872901edebdda
  Author: Paolo Bonzini <address@hidden>
  Date:   2016-07-19 (Tue, 19 Jul 2016)

  Changed paths:
    M qapi/qmp-input-visitor.c

  Log Message:
  -----------
  qapi: change QmpInputVisitor to QSLIST

This saves a lot of memory compared to a statically-sized array,
or at least 24kb could be considered a lot on an Atari ST.
It also makes the code more similar to QmpOutputVisitor.

This removes the limit on the depth of a QObject that can be processed
into a QAPI tree.  This is not a problem because QObjects can be
considered trusted; the text received on the QMP wire is untrusted
input, but the JSON parser already takes pains to limit the QObject tree
it creates.  We don't need the QMP input visitor to limit it again.

Signed-off-by: Paolo Bonzini <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
[Commit message typo fixed]
Signed-off-by: Markus Armbruster <address@hidden>


  Commit: cebea510579ed43724156cc596a8ff14ba208740
      
https://github.com/qemu/qemu/commit/cebea510579ed43724156cc596a8ff14ba208740
  Author: Kővágó, Zoltán <address@hidden>
  Date:   2016-07-19 (Tue, 19 Jul 2016)

  Changed paths:
    M net/clients.h
    M net/dump.c
    M net/hub.c
    M net/l2tpv3.c
    M net/net.c
    M net/netmap.c
    M net/slirp.c
    M net/socket.c
    M net/tap-win32.c
    M net/tap.c
    M net/vde.c
    M net/vhost-user.c

  Log Message:
  -----------
  net: use Netdev instead of NetClientOptions in client init

This way we no longer need NetClientOptions and can convert Netdev
into a flat union.

Signed-off-by: Kővágó, Zoltán <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>

[rework net_client_init1() to pass Netdev by copying from NetdevLegacy,
rather than merging the two types - which means that we still need
NetClientOptions after all.  Rebase to qapi changes. The bulk of the
patch is mechanical, replacing 'opts' by 'netdev->opts', while
net_client_init1() takes care of converting between legacy and modern
types.]

Signed-off-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>


  Commit: d0b182392d0281ef780e3effcb82677a004f1f97
      
https://github.com/qemu/qemu/commit/d0b182392d0281ef780e3effcb82677a004f1f97
  Author: Eric Blake <address@hidden>
  Date:   2016-07-19 (Tue, 19 Jul 2016)

  Changed paths:
    M scripts/qapi.py
    M tests/Makefile.include
    A tests/qapi-schema/flat-union-incomplete-branch.err
    A tests/qapi-schema/flat-union-incomplete-branch.exit
    A tests/qapi-schema/flat-union-incomplete-branch.json
    A tests/qapi-schema/flat-union-incomplete-branch.out

  Log Message:
  -----------
  qapi: Require all branches of flat union enum to be covered

We were previously enforcing that all flat union branches were
found in the corresponding enum, but not that all enum values
were covered by branches.  The resulting generated code would
abort() if the user passes the uncovered enum value.

We don't automatically treat non-present branches in a flat
union as empty types, for symmetry with simple unions (there,
the enum type is generated from the list of all branches, so
there is no way to omit a branch but still have it be part of
the union).

A later patch will add shorthand so that branches that are empty
in flat unions can be declared as 'branch':{} instead of
'branch':'Empty', to avoid the need for an otherwise useless
explicit empty type.  [Such shorthand for simple unions is a bit
harder to justify, since we would still have to generate a
wrapper type that parses 'data':{}, rather than truly being an
empty branch with no additional siblings to the 'type' member.]

Signed-off-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>


  Commit: cd50a2564560986e865ff64fa73b59d2564076f0
      
https://github.com/qemu/qemu/commit/cd50a2564560986e865ff64fa73b59d2564076f0
  Author: Eric Blake <address@hidden>
  Date:   2016-07-19 (Tue, 19 Jul 2016)

  Changed paths:
    M scripts/qapi.py

  Log Message:
  -----------
  qapi: Special case c_name() for empty type

Commit 7ce106a rendered QAPISchemaObjectType.c_name() redundant,
since it now does nothing more than delegate to its superclass.
However, rather than deleting it, we can restore part of the
assertion that was removed in that commit, to prove that we never
emit the empty type directly in generated code, but rather
special-case it as a built-in that makes other aspects of code
generation easier to reason about.

Reported-by: Markus Armbruster <address@hidden>
Signed-off-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>


  Commit: da9cb19385fc66b2cb2584bbbbcbf50246d057e2
      
https://github.com/qemu/qemu/commit/da9cb19385fc66b2cb2584bbbbcbf50246d057e2
  Author: Eric Blake <address@hidden>
  Date:   2016-07-19 (Tue, 19 Jul 2016)

  Changed paths:
    M scripts/qapi.py
    M tests/qapi-schema/qapi-schema-test.out
    M tests/qapi-schema/test-qapi.py

  Log Message:
  -----------
  qapi: Hide tag_name data member of variants

Clean up the only remaining external use of the tag_name field of
QAPISchemaObjectTypeVariants, by explicitly listing the generated
'type' tag for all variants in the testsuite (you can still tell
simple unions by the -wrapper types).  Then we can mark the
tag_name field as private by adding a leading underscore to prevent
any further use.

Signed-off-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>


  Commit: b6167706829c6e0d3572daa2b6769594ced276f7
      
https://github.com/qemu/qemu/commit/b6167706829c6e0d3572daa2b6769594ced276f7
  Author: Eric Blake <address@hidden>
  Date:   2016-07-19 (Tue, 19 Jul 2016)

  Changed paths:
    M scripts/qapi-commands.py
    M scripts/qapi-event.py
    M scripts/qapi-types.py
    M scripts/qapi.py

  Log Message:
  -----------
  qapi: Add type.is_empty() helper

In the near future, we want to lift our artificial restriction of
no variants at the top level of an event, at which point the
currently open-coded check for empty members will become
insufficient.  Factor it out into a new helper method is_empty()
now, and future-proof it by checking variants, too, along with an
assert that it is not used prior to the completion of .check().
Update places that were checking for (non-)empty .members to use
the new helper.

All of the current callers assert that there are no variants (either
directly, or by qapi.py asserting that base types have no variants),
so this is not a semantic change.

No change to generated code.

Signed-off-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>


  Commit: fa274ed6fb788866ed3a2cfd54a2ddf78f04f2c0
      
https://github.com/qemu/qemu/commit/fa274ed6fb788866ed3a2cfd54a2ddf78f04f2c0
  Author: Eric Blake <address@hidden>
  Date:   2016-07-19 (Tue, 19 Jul 2016)

  Changed paths:
    M scripts/qapi-commands.py
    M scripts/qapi-visit.py
    M scripts/qapi.py

  Log Message:
  -----------
  qapi: Drop useless gen_err_check()

Ever since commit 12f254f removed the last parameterization
of gen_err_check(), it no longer makes sense to hide the three
lines of generated C code behind a macro call. Just inline it
into the remaining users.

No change to generated code.

Signed-off-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>


  Commit: 4d0b268fdb17a1fed10fe980e77fd388e5427bfd
      
https://github.com/qemu/qemu/commit/4d0b268fdb17a1fed10fe980e77fd388e5427bfd
  Author: Eric Blake <address@hidden>
  Date:   2016-07-19 (Tue, 19 Jul 2016)

  Changed paths:
    M scripts/qapi-event.py

  Log Message:
  -----------
  qapi-event: Simplify visit of non-implicit data

Commit 7ce106a9 documented why we don't generated a visit_type_FOO()
for implicit types; and therefore events with an anonymous type for
'data' have to open-code a visit.  Note that the open-coded visit in
qapi-event.c is slightly different from what is done in
qapi-visit.c for normal types, in part because we don't have to
check for *obj being NULL or free things on error.  But where the
type is not implicit, it is nicer to reuse the normal visit instead
of open-coding a duplicate.

At the moment, the only event with a non-implicit 'data' is in the
testsuite, where test-qapi-event.c changes as follows:

|@@ -155,6 +155,7 @@ void qapi_event_send___org_qemu_x_event(
|     __org_qemu_x_Struct param = {
|         __org_qemu_x_member1, (char *)__org_qemu_x_member2, has_q_wchar_t, 
q_wchar_t
|     };
|+    __org_qemu_x_Struct *arg = &param;
|
|     emit = qmp_event_get_func_emit();
|     if (!emit) {
|@@ -164,16 +165,7 @@ void qapi_event_send___org_qemu_x_event(
|     qmp = qmp_event_build_dict("__ORG.QEMU_X-EVENT");
|
|     v = qmp_output_visitor_new(&obj);
|-
|-    visit_start_struct(v, "__ORG.QEMU_X-EVENT", NULL, 0, &err);
|-    if (err) {
|-        goto out;
|-    }
|-    visit_type___org_qemu_x_Struct_members(v, &param, &err);
|-    if (!err) {
|-    if (!err) {
|-        visit_check_struct(v, &err);
|-    }
|-    visit_end_struct(v, NULL);
|+    visit_type___org_qemu_x_Struct(v, "__ORG.QEMU_X-EVENT", &arg, &err);
|     if (err) {
|         goto out;
|     }

Signed-off-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>


  Commit: 48825ca419fd9c8140d4fecb24e982d68ebca74f
      
https://github.com/qemu/qemu/commit/48825ca419fd9c8140d4fecb24e982d68ebca74f
  Author: Eric Blake <address@hidden>
  Date:   2016-07-19 (Tue, 19 Jul 2016)

  Changed paths:
    M scripts/qapi-commands.py
    M scripts/qapi-event.py
    M scripts/qapi-introspect.py
    M scripts/qapi.py
    M tests/qapi-schema/event-case.out
    M tests/qapi-schema/ident-with-escape.out
    M tests/qapi-schema/indented-expr.out
    M tests/qapi-schema/qapi-schema-test.out
    M tests/qapi-schema/test-qapi.py

  Log Message:
  -----------
  qapi: Plumb in 'boxed' to qapi generator lower levels

The next patch will add support for passing a qapi union type
as the 'data' of a command.  But to do that, the user function
for implementing the command, as called by the generated
marshal command, must take the corresponding C struct as a
single boxed pointer, rather than a breakdown into one
parameter per member.  Even without a union, being able to use
a C struct rather than a list of parameters can make it much
easier to handle coding with QAPI.

This patch adds the internal plumbing of a 'boxed' flag
associated with each command and event.  In several cases,
this means adding indentation, with one new dead branch and
the remaining branch being the original code more deeply
nested; this was done so that the new implementation in the
next patch is easier to review without also being mixed with
indentation changes.

For this patch, no behavior or generated output changes, other
than the testsuite outputting the value of the new flag
(always False for now).

Signed-off-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
[Identifier box renamed to boxed in two places]
Signed-off-by: Markus Armbruster <address@hidden>


  Commit: c818408e449ea55371253bd4def1c1dc87b7bb03
      
https://github.com/qemu/qemu/commit/c818408e449ea55371253bd4def1c1dc87b7bb03
  Author: Eric Blake <address@hidden>
  Date:   2016-07-19 (Tue, 19 Jul 2016)

  Changed paths:
    M docs/qapi-code-gen.txt
    M scripts/qapi-commands.py
    M scripts/qapi-event.py
    M scripts/qapi.py
    M tests/Makefile.include
    A tests/qapi-schema/args-bad-boxed.err
    A tests/qapi-schema/args-bad-boxed.exit
    A tests/qapi-schema/args-bad-boxed.json
    A tests/qapi-schema/args-bad-boxed.out
    A tests/qapi-schema/args-boxed-anon.err
    A tests/qapi-schema/args-boxed-anon.exit
    A tests/qapi-schema/args-boxed-anon.json
    A tests/qapi-schema/args-boxed-anon.out
    A tests/qapi-schema/args-boxed-empty.err
    A tests/qapi-schema/args-boxed-empty.exit
    A tests/qapi-schema/args-boxed-empty.json
    A tests/qapi-schema/args-boxed-empty.out
    A tests/qapi-schema/args-boxed-string.err
    A tests/qapi-schema/args-boxed-string.exit
    A tests/qapi-schema/args-boxed-string.json
    A tests/qapi-schema/args-boxed-string.out
    M tests/qapi-schema/args-union.err
    M tests/qapi-schema/args-union.json
    A tests/qapi-schema/event-boxed-empty.err
    A tests/qapi-schema/event-boxed-empty.exit
    A tests/qapi-schema/event-boxed-empty.json
    A tests/qapi-schema/event-boxed-empty.out
    M tests/qapi-schema/qapi-schema-test.json
    M tests/qapi-schema/qapi-schema-test.out
    M tests/test-qmp-commands.c

  Log Message:
  -----------
  qapi: Implement boxed types for commands/events

Turn on the ability to pass command and event arguments in
a single boxed parameter, which must name a non-empty type
(although the type can be a struct with all optional members).
For structs, it makes it possible to pass a single qapi type
instead of a breakout of all struct members (useful if the
arguments are already in a struct or if the number of members
is large); for other complex types, it is now possible to use
a union or alternate as the data for a command or event.

The empty type may be technically feasible if needed down the
road, but it's easier to forbid it now and relax things to allow
it later, than it is to allow it now and have to special case
how the generated 'q_empty' type is handled (see commit 7ce106a9
for reasons why nothing is generated for the empty type).  An
alternate type is never considered empty, but now that a boxed
type can be either an object or an alternate, we have to provide
a trivial QAPISchemaAlternateType.is_empty().  The new call to
arg_type.is_empty() during QAPISchemaCommand.check() requires
that we first check the type in question; but there is no chance
of introducing a cycle since objects do not refer back to commands.

We still have a split in syntax checking between ad-hoc parsing
up front (merely validates that 'boxed' has a sane value) and
during .check() methods (if 'boxed' is set, then 'data' must name
a non-empty user-defined type).

Generated code is unchanged, as long as no client uses the
new feature.

Signed-off-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
[Test files renamed to *-boxed-*]
Signed-off-by: Markus Armbruster <address@hidden>


  Commit: 4dc9397b62c1a50a4afb5881abb55d07058e0812
      
https://github.com/qemu/qemu/commit/4dc9397b62c1a50a4afb5881abb55d07058e0812
  Author: Eric Blake <address@hidden>
  Date:   2016-07-19 (Tue, 19 Jul 2016)

  Changed paths:
    M blockdev.c
    M hmp.c
    M qapi/block-core.json

  Log Message:
  -----------
  block: Simplify block_set_io_throttle

Now that we can support boxed commands, use it to greatly
reduce the number of parameters (and likelihood of getting
out of sync) when adjusting throttle parameters.

Signed-off-by: Eric Blake <address@hidden>
Reviewed-by: Alberto Garcia <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>


  Commit: faecd40a592dbd8f12d2b3b4783fa05ae22364ea
      
https://github.com/qemu/qemu/commit/faecd40a592dbd8f12d2b3b4783fa05ae22364ea
  Author: Eric Blake <address@hidden>
  Date:   2016-07-19 (Tue, 19 Jul 2016)

  Changed paths:
    M blockdev.c
    M hmp.c
    M qapi/block-core.json

  Log Message:
  -----------
  block: Simplify drive-mirror

Now that we can support boxed commands, use it to greatly
reduce the number of parameters (and likelihood of getting
out of sync) when adjusting drive-mirror parameters.

Signed-off-by: Eric Blake <address@hidden>
Reviewed-by: John Snow <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>


  Commit: f394b2e20d9a666fb194fb692179a0eeaca5daea
      
https://github.com/qemu/qemu/commit/f394b2e20d9a666fb194fb692179a0eeaca5daea
  Author: Eric Blake <address@hidden>
  Date:   2016-07-19 (Tue, 19 Jul 2016)

  Changed paths:
    M hw/arm/musicpal.c
    M hw/core/qdev-properties-system.c
    M hw/net/allwinner_emac.c
    M hw/net/cadence_gem.c
    M hw/net/dp8393x.c
    M hw/net/e1000.c
    M hw/net/e1000e.c
    M hw/net/eepro100.c
    M hw/net/etraxfs_eth.c
    M hw/net/fsl_etsec/etsec.c
    M hw/net/imx_fec.c
    M hw/net/lan9118.c
    M hw/net/lance.c
    M hw/net/mcf_fec.c
    M hw/net/milkymist-minimac2.c
    M hw/net/mipsnet.c
    M hw/net/ne2000-isa.c
    M hw/net/ne2000.c
    M hw/net/opencores_eth.c
    M hw/net/pcnet-pci.c
    M hw/net/rocker/rocker_fp.c
    M hw/net/rtl8139.c
    M hw/net/smc91c111.c
    M hw/net/spapr_llan.c
    M hw/net/stellaris_enet.c
    M hw/net/vhost_net.c
    M hw/net/virtio-net.c
    M hw/net/vmxnet3.c
    M hw/net/xen_nic.c
    M hw/net/xgmac.c
    M hw/net/xilinx_axienet.c
    M hw/net/xilinx_ethlite.c
    M hw/usb/dev-network.c
    M include/net/net.h
    M monitor.c
    M net/dump.c
    M net/filter.c
    M net/hub.c
    M net/l2tpv3.c
    M net/net.c
    M net/netmap.c
    M net/slirp.c
    M net/socket.c
    M net/tap-win32.c
    M net/tap.c
    M net/vde.c
    M net/vhost-user.c
    M qapi-schema.json

  Log Message:
  -----------
  qapi: Change Netdev into a flat union

This is a mostly-mechanical conversion that creates a new flat
union 'Netdev' QAPI type that covers all the branches of the
former 'NetClientOptions' simple union, where the branches are
now listed in a new 'NetClientDriver' enum rather than generated
from the simple union.  The existence of a flat union has no
change to the command line syntax accepted for new code, and
will make it possible for a future patch to switch the QMP
command to parse a boxed union for no change to valid QMP; but
it does have some ripple effect on the C code when dealing with
the new types.

While making the conversion, note that the 'NetLegacy' type
remains unchanged: it applies only to legacy command line options,
and will not be ported to QMP, so it should remain a wrapper
around a simple union; to avoid confusion, the type named
'NetClientOptions' is now gone, and we introduce 'NetLegacyOptions'
in its place.  Then, in the C code, we convert from NetLegacy to
Netdev as soon as possible, so that the bulk of the net stack
only has to deal with one QAPI type, not two.  Note that since
the old legacy code always rejected 'hubport', we can just omit
that branch from the new 'NetLegacyOptions' simple union.

Based on an idea originally by Zoltán Kővágó <address@hidden>:
Message-Id: <address@hidden>
although the sed script in that patch no longer applies due to
other changes in the tree since then, and I also did some manual
cleanups (such as fixing whitespace to keep checkpatch happy).

Signed-off-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
[Fixup from Eric squashed in]
Signed-off-by: Markus Armbruster <address@hidden>


  Commit: 0e55c381f69f302d09ab1e18f3c1156cca56f4a6
      
https://github.com/qemu/qemu/commit/0e55c381f69f302d09ab1e18f3c1156cca56f4a6
  Author: Eric Blake <address@hidden>
  Date:   2016-07-19 (Tue, 19 Jul 2016)

  Changed paths:
    M hw/usb/dev-network.c
    M include/net/net.h
    M net/net.c

  Log Message:
  -----------
  net: Use correct type for bool flag

is_netdev is only used as a bool, so make it one.

Signed-off-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>


  Commit: 3b2e6798ffdc69a7bd630657651c778d95250b76
      
https://github.com/qemu/qemu/commit/3b2e6798ffdc69a7bd630657651c778d95250b76
  Author: Peter Maydell <address@hidden>
  Date:   2016-07-20 (Wed, 20 Jul 2016)

  Changed paths:
    M blockdev.c
    M docs/qapi-code-gen.txt
    M hmp.c
    M hw/arm/musicpal.c
    M hw/core/qdev-properties-system.c
    M hw/net/allwinner_emac.c
    M hw/net/cadence_gem.c
    M hw/net/dp8393x.c
    M hw/net/e1000.c
    M hw/net/e1000e.c
    M hw/net/eepro100.c
    M hw/net/etraxfs_eth.c
    M hw/net/fsl_etsec/etsec.c
    M hw/net/imx_fec.c
    M hw/net/lan9118.c
    M hw/net/lance.c
    M hw/net/mcf_fec.c
    M hw/net/milkymist-minimac2.c
    M hw/net/mipsnet.c
    M hw/net/ne2000-isa.c
    M hw/net/ne2000.c
    M hw/net/opencores_eth.c
    M hw/net/pcnet-pci.c
    M hw/net/rocker/rocker_fp.c
    M hw/net/rtl8139.c
    M hw/net/smc91c111.c
    M hw/net/spapr_llan.c
    M hw/net/stellaris_enet.c
    M hw/net/vhost_net.c
    M hw/net/virtio-net.c
    M hw/net/vmxnet3.c
    M hw/net/xen_nic.c
    M hw/net/xgmac.c
    M hw/net/xilinx_axienet.c
    M hw/net/xilinx_ethlite.c
    M hw/usb/dev-network.c
    M include/net/net.h
    M monitor.c
    M net/clients.h
    M net/dump.c
    M net/filter.c
    M net/hub.c
    M net/l2tpv3.c
    M net/net.c
    M net/netmap.c
    M net/slirp.c
    M net/socket.c
    M net/tap-win32.c
    M net/tap.c
    M net/vde.c
    M net/vhost-user.c
    M qapi-schema.json
    M qapi/block-core.json
    M qapi/qmp-input-visitor.c
    M qapi/qmp-output-visitor.c
    M scripts/qapi-commands.py
    M scripts/qapi-event.py
    M scripts/qapi-introspect.py
    M scripts/qapi-types.py
    M scripts/qapi-visit.py
    M scripts/qapi.py
    M tests/Makefile.include
    A tests/qapi-schema/args-bad-boxed.err
    A tests/qapi-schema/args-bad-boxed.exit
    A tests/qapi-schema/args-bad-boxed.json
    A tests/qapi-schema/args-bad-boxed.out
    A tests/qapi-schema/args-boxed-anon.err
    A tests/qapi-schema/args-boxed-anon.exit
    A tests/qapi-schema/args-boxed-anon.json
    A tests/qapi-schema/args-boxed-anon.out
    A tests/qapi-schema/args-boxed-empty.err
    A tests/qapi-schema/args-boxed-empty.exit
    A tests/qapi-schema/args-boxed-empty.json
    A tests/qapi-schema/args-boxed-empty.out
    A tests/qapi-schema/args-boxed-string.err
    A tests/qapi-schema/args-boxed-string.exit
    A tests/qapi-schema/args-boxed-string.json
    A tests/qapi-schema/args-boxed-string.out
    M tests/qapi-schema/args-union.err
    M tests/qapi-schema/args-union.json
    A tests/qapi-schema/event-boxed-empty.err
    A tests/qapi-schema/event-boxed-empty.exit
    A tests/qapi-schema/event-boxed-empty.json
    A tests/qapi-schema/event-boxed-empty.out
    M tests/qapi-schema/event-case.out
    A tests/qapi-schema/flat-union-incomplete-branch.err
    A tests/qapi-schema/flat-union-incomplete-branch.exit
    A tests/qapi-schema/flat-union-incomplete-branch.json
    A tests/qapi-schema/flat-union-incomplete-branch.out
    M tests/qapi-schema/ident-with-escape.out
    M tests/qapi-schema/indented-expr.out
    M tests/qapi-schema/qapi-schema-test.json
    M tests/qapi-schema/qapi-schema-test.out
    M tests/qapi-schema/test-qapi.py
    M tests/test-qmp-commands.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/armbru/tags/pull-qapi-2016-07-19' into 
staging

QAPI patches for 2016-07-19

# gpg: Signature made Tue 19 Jul 2016 19:35:27 BST
# gpg:                using RSA key 0x3870B400EB918653
# gpg: Good signature from "Markus Armbruster <address@hidden>"
# gpg:                 aka "Markus Armbruster <address@hidden>"
# Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867  4E5F 3870 B400 EB91 8653

* remotes/armbru/tags/pull-qapi-2016-07-19:
  net: Use correct type for bool flag
  qapi: Change Netdev into a flat union
  block: Simplify drive-mirror
  block: Simplify block_set_io_throttle
  qapi: Implement boxed types for commands/events
  qapi: Plumb in 'boxed' to qapi generator lower levels
  qapi-event: Simplify visit of non-implicit data
  qapi: Drop useless gen_err_check()
  qapi: Add type.is_empty() helper
  qapi: Hide tag_name data member of variants
  qapi: Special case c_name() for empty type
  qapi: Require all branches of flat union enum to be covered
  net: use Netdev instead of NetClientOptions in client init
  qapi: change QmpInputVisitor to QSLIST
  qapi: change QmpOutputVisitor to QSLIST

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/338404d06114...3b2e6798ffdc

reply via email to

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