qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 0dd135: Include qapi/qmp/qerror.h exactly whe


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 0dd135: Include qapi/qmp/qerror.h exactly where needed
Date: Mon, 05 Mar 2018 04:15:28 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 0dd13589b0dc1d91bb1281a0d10ddaa71b8b5ccd
      
https://github.com/qemu/qemu/commit/0dd13589b0dc1d91bb1281a0d10ddaa71b8b5ccd
  Author: Markus Armbruster <address@hidden>
  Date:   2018-03-02 (Fri, 02 Mar 2018)

  Changed paths:
    M block.c
    M block/qcow2.c
    M chardev/char-fe.c
    M chardev/char.c
    M qom/object_interfaces.c
    M scripts/qapi-visit.py

  Log Message:
  -----------
  Include qapi/qmp/qerror.h exactly where needed

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


  Commit: c263de3f419be945499ff7e6bd7512702f8bd522
      
https://github.com/qemu/qemu/commit/c263de3f419be945499ff7e6bd7512702f8bd522
  Author: Markus Armbruster <address@hidden>
  Date:   2018-03-02 (Fri, 02 Mar 2018)

  Changed paths:
    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 scripts/qapi2texi.py
    M tests/qapi-schema/doc-good.texi

  Log Message:
  -----------
  qapi: Streamline boilerplate comment generation

Every generator has separate boilerplate for .h and .c, and their
differences are boring.  All of them repeat the license note.

Reduce the repetition as follows.  Move common text like the license
note to common open_output(), next to the existing common text there.
For each generator, replace the two separate descriptions by a single
one.

While there, emit an "automatically generated" note into generated
documentation, too.

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


  Commit: 5ddeec83eb0284b52bb3d496a49ba1657069ed45
      
https://github.com/qemu/qemu/commit/5ddeec83eb0284b52bb3d496a49ba1657069ed45
  Author: Markus Armbruster <address@hidden>
  Date:   2018-03-02 (Fri, 02 Mar 2018)

  Changed paths:
    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

  Log Message:
  -----------
  qapi: Generate up-to-date copyright notice

Each generator carries a copyright notice for the generator itself,
and another one for the files it generates.  Only the former have been
updated along the way, the latter have not, and are all out of date.

Fix by copying the generator's copyright notice to the generated files
instead.  Note that the fix doesn't copy the "Authors:" part; the
generated files' outdated Authors list goes away without replacement.

Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Michael Roth <address@hidden>
[eblake: Flatten each 'blurb' to one line]
Signed-off-by: Eric Blake <address@hidden>


  Commit: d46eec4260540d83bafba91608842ab03dabf339
      
https://github.com/qemu/qemu/commit/d46eec4260540d83bafba91608842ab03dabf339
  Author: Markus Armbruster <address@hidden>
  Date:   2018-03-02 (Fri, 02 Mar 2018)

  Changed paths:
    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

  Log Message:
  -----------
  qapi: Rename variable holding the QAPISchemaGenFOOVisitor

Rename the variable holding the QAPISchemaGenFOOVisitor from gen to
vis, to avoid confusion in the next commit.

Signed-off-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Reviewed-by: Michael Roth <address@hidden>
Signed-off-by: Eric Blake <address@hidden>


  Commit: 47a6ea9aab1d857015684cda387ffba05a036721
      
https://github.com/qemu/qemu/commit/47a6ea9aab1d857015684cda387ffba05a036721
  Author: Markus Armbruster <address@hidden>
  Date:   2018-03-02 (Fri, 02 Mar 2018)

  Changed paths:
    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

  Log Message:
  -----------
  qapi: New classes QAPIGenC, QAPIGenH, QAPIGenDoc

These classes encapsulate accumulating and writing output.

Convert C code generation to QAPIGenC and QAPIGenH.  The conversion is
rather shallow: most of the output accumulation is not converted.
Left for later.

The indentation machinery uses a single global variable indent_level,
even though we generally interleave creation of a .c and its .h.  It
should become instance variable of QAPIGenC.  Also left for later.

Documentation generation isn't converted, and QAPIGenDoc isn't used.
This will change shortly.

Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Michael Roth <address@hidden>
[eblake: fix nits spotted by Michael]
Signed-off-by: Eric Blake <address@hidden>


  Commit: 93b564c444edc41901d0f7e922833eeb751f8249
      
https://github.com/qemu/qemu/commit/93b564c444edc41901d0f7e922833eeb751f8249
  Author: Markus Armbruster <address@hidden>
  Date:   2018-03-02 (Fri, 02 Mar 2018)

  Changed paths:
    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

  Log Message:
  -----------
  qapi: Reduce use of global variables in generators some

In preparation of the next commit, which will turn the generators into
modules.  These global variables will become local to main() then.

Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Michael Roth <address@hidden>
Signed-off-by: Eric Blake <address@hidden>


  Commit: 26df4e7fab06422b21e11d039c64243ca4003147
      
https://github.com/qemu/qemu/commit/26df4e7fab06422b21e11d039c64243ca4003147
  Author: Markus Armbruster <address@hidden>
  Date:   2018-03-02 (Fri, 02 Mar 2018)

  Changed paths:
    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

  Log Message:
  -----------
  qapi: Turn generators into modules

The next commit will introduce a common driver program for all
generators.  The generators need to be modules for that.  qapi2texi.py
already is.  Make the other generators follow suit.

The changes are actually trivial.  Obvious in the diffs once you view
them with whitespace changes ignored.

Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Michael Roth <address@hidden>
[eblake: minor tweak to keep 'blurb' one line]
Signed-off-by: Eric Blake <address@hidden>


  Commit: fb0bc835e56b894cbc7236294921e5393c786ad8
      
https://github.com/qemu/qemu/commit/fb0bc835e56b894cbc7236294921e5393c786ad8
  Author: Markus Armbruster <address@hidden>
  Date:   2018-03-02 (Fri, 02 Mar 2018)

  Changed paths:
    M .gitignore
    M Makefile
    M docs/devel/qapi-code-gen.txt
    M monitor.c
    M qapi-schema.json
    R scripts/qapi-commands.py
    R scripts/qapi-event.py
    A scripts/qapi-gen.py
    R scripts/qapi-introspect.py
    R scripts/qapi-types.py
    R scripts/qapi-visit.py
    R scripts/qapi.py
    A scripts/qapi/__init__.py
    A scripts/qapi/commands.py
    A scripts/qapi/common.py
    A scripts/qapi/doc.py
    A scripts/qapi/events.py
    A scripts/qapi/introspect.py
    A scripts/qapi/types.py
    A scripts/qapi/visit.py
    R scripts/qapi2texi.py
    M tests/Makefile.include
    M tests/qapi-schema/test-qapi.py

  Log Message:
  -----------
  qapi-gen: New common driver for code and doc generators

Whenever qapi-schema.json changes, we run six programs eleven times to
update eleven files.  Similar for qga/qapi-schema.json.  This is
silly.  Replace the six programs by a single program that spits out
all eleven files.

The programs become modules in new Python package qapi, along with the
helper library.  This requires moving them to scripts/qapi/.  While
moving them, consistently drop executable mode bits.

Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Michael Roth <address@hidden>
[eblake: move change to one-line 'blurb' earlier in series, mention mode
bit change as intentional, update qapi-code-gen.txt to match actual
generated events.c file]
Signed-off-by: Eric Blake <address@hidden>


  Commit: 3b446a1817289d89844ad77c719bdc44bbcd1198
      
https://github.com/qemu/qemu/commit/3b446a1817289d89844ad77c719bdc44bbcd1198
  Author: Markus Armbruster <address@hidden>
  Date:   2018-03-02 (Fri, 02 Mar 2018)

  Changed paths:
    M scripts/qapi-gen.py
    M scripts/qapi/common.py

  Log Message:
  -----------
  qapi-gen: Convert from getopt to argparse

argparse is nicer to use than getopt, and gives us --help almost for
free.

Signed-off-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
[eblake: Fix --output-dir editing accident]
Signed-off-by: Eric Blake <address@hidden>


  Commit: 907b846653fb3757bf2ab98d6d66f92df34d875f
      
https://github.com/qemu/qemu/commit/907b846653fb3757bf2ab98d6d66f92df34d875f
  Author: Markus Armbruster <address@hidden>
  Date:   2018-03-02 (Fri, 02 Mar 2018)

  Changed paths:
    M scripts/qapi/common.py

  Log Message:
  -----------
  qapi: Touch generated files only when they change

A massive number of objects depends on QAPI-generated headers.  In my
"build everything" tree, it's roughly 4800 out of 5100.  This is
particularly annoying when only some of the generated files change,
say for a doc fix.

Improve qapi-gen.py to touch its output files only if they actually
change.  Rebuild time for a QAPI doc fix drops from many minutes to a
few seconds.  Rebuilds get faster for certain code changes, too.  For
instance, adding a simple QMP event now recompiles less than 200
instead of 4800 objects.  But adding a QAPI type is as bad as ever;
we've clearly got more work to do.

Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Michael Roth <address@hidden>
[eblake: fix octal constant for python3]
Signed-off-by: Eric Blake <address@hidden>


  Commit: af97502ce9c648ae5c746b9e562d6e4586f02eee
      
https://github.com/qemu/qemu/commit/af97502ce9c648ae5c746b9e562d6e4586f02eee
  Author: Markus Armbruster <address@hidden>
  Date:   2018-03-02 (Fri, 02 Mar 2018)

  Changed paths:
    M scripts/qapi/common.py
    M tests/qapi-schema/include-no-file.err

  Log Message:
  -----------
  qapi: Improve include file name reporting in error messages

Error messages print absolute file names of included files even if the
user gave a relative one on the command line:

    $ PYTHONPATH=scripts python -B tests/qapi-schema/test-qapi.py 
tests/qapi-schema/include-cycle.json
    In file included from tests/qapi-schema/include-cycle.json:1:
    In file included from 
/work/armbru/qemu/tests/qapi-schema/include-cycle-b.json:1:
    /work/armbru/qemu/tests/qapi-schema/include-cycle-c.json:1: Inclusion loop 
for include-cycle.json

Improve this to

    In file included from tests/qapi-schema/include-cycle.json:1:
    In file included from tests/qapi-schema/include-cycle-b.json:1:
    tests/qapi-schema/include-cycle-c.json:1: Inclusion loop for 
include-cycle.json

The error message when an include file can't be opened prints the
include directive's file name, which is relative to the including
file.  Change this to print the file name relative to the working
directory.  Visible in tests/qapi-schema/include-no-file.err.

Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Michael Roth <address@hidden>
Signed-off-by: Eric Blake <address@hidden>


  Commit: 71a7510baf8a5745eb844ab289f007ff8bbbee41
      
https://github.com/qemu/qemu/commit/71a7510baf8a5745eb844ab289f007ff8bbbee41
  Author: Markus Armbruster <address@hidden>
  Date:   2018-03-02 (Fri, 02 Mar 2018)

  Changed paths:
    M scripts/qapi/common.py

  Log Message:
  -----------
  qapi/common: Eliminate QAPISchema.exprs

Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Michael Roth <address@hidden>
Signed-off-by: Eric Blake <address@hidden>


  Commit: 181feaf3555136dd7883e2434c4498ca1939bf1a
      
https://github.com/qemu/qemu/commit/181feaf3555136dd7883e2434c4498ca1939bf1a
  Author: Markus Armbruster <address@hidden>
  Date:   2018-03-02 (Fri, 02 Mar 2018)

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

  Log Message:
  -----------
  qapi: Lift error reporting from QAPISchema.__init__() to callers

Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Michael Roth <address@hidden>
Signed-off-by: Eric Blake <address@hidden>


  Commit: 4257053083775c1f670fa828003915e25d13e9d7
      
https://github.com/qemu/qemu/commit/4257053083775c1f670fa828003915e25d13e9d7
  Author: Markus Armbruster <address@hidden>
  Date:   2018-03-02 (Fri, 02 Mar 2018)

  Changed paths:
    M scripts/qapi/common.py

  Log Message:
  -----------
  qapi: Concentrate QAPISchemaParser.exprs updates in .__init__()

Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Michael Roth <address@hidden>
Signed-off-by: Eric Blake <address@hidden>


  Commit: 97f0249474d19c1d60fb9d934c8bc08625a619ca
      
https://github.com/qemu/qemu/commit/97f0249474d19c1d60fb9d934c8bc08625a619ca
  Author: Markus Armbruster <address@hidden>
  Date:   2018-03-02 (Fri, 02 Mar 2018)

  Changed paths:
    M scripts/qapi/common.py

  Log Message:
  -----------
  qapi: Record 'include' directives in parse tree

The parse tree is a list of expressions.  Except include expressions
currently get replaced by the included file's parse tree.

Instead of throwing away the include expression, keep it with the file
name expanded so you don't have to track the including file's
directory to make sense of it.

A future commit will put this include expression to use.

Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
[eblake: fix check of expr after assignment]
Signed-off-by: Eric Blake <address@hidden>


  Commit: 8a84767cc4f7e00e5dd62435c32be9e7d2cbe4d3
      
https://github.com/qemu/qemu/commit/8a84767cc4f7e00e5dd62435c32be9e7d2cbe4d3
  Author: Markus Armbruster <address@hidden>
  Date:   2018-03-02 (Fri, 02 Mar 2018)

  Changed paths:
    M scripts/qapi/common.py
    M tests/qapi-schema/comments.out
    M tests/qapi-schema/doc-bad-section.out
    M tests/qapi-schema/doc-good.out
    M tests/qapi-schema/empty.out
    M tests/qapi-schema/event-case.out
    M tests/qapi-schema/ident-with-escape.out
    M tests/qapi-schema/include-relpath.out
    M tests/qapi-schema/include-repetition.out
    M tests/qapi-schema/include-simple.out
    M tests/qapi-schema/indented-expr.out
    M tests/qapi-schema/qapi-schema-test.out

  Log Message:
  -----------
  qapi: Generate in source order

The generators' conversion to visitors (merge commit 9e72681d16)
changed the processing order of entities from source order to
alphabetical order.  The next commit needs source order, so change it
back.

Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Michael Roth <address@hidden>
Signed-off-by: Eric Blake <address@hidden>


  Commit: cf40a0a5c2e1091846974cc8cc95a60e0b1db4af
      
https://github.com/qemu/qemu/commit/cf40a0a5c2e1091846974cc8cc95a60e0b1db4af
  Author: Markus Armbruster <address@hidden>
  Date:   2018-03-02 (Fri, 02 Mar 2018)

  Changed paths:
    M scripts/qapi/common.py
    M tests/qapi-schema/comments.out
    M tests/qapi-schema/doc-bad-section.out
    M tests/qapi-schema/doc-good.out
    M tests/qapi-schema/event-case.out
    M tests/qapi-schema/ident-with-escape.out
    M tests/qapi-schema/include-relpath.out
    M tests/qapi-schema/include-repetition.out
    M tests/qapi-schema/include-simple.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: Record 'include' directives in intermediate representation

The include directive permits modular QAPI schemata, but the generated
code is monolithic all the same.  To permit generating modular code,
the front end needs to pass more information on inclusions to the back
ends.  The commit before last added the necessary information to the
parse tree.  This commit adds it to the intermediate representation
and its QAPISchemaVisitor.  A later commit will use this to to
generate modular code.

New entity QAPISchemaInclude represents inclusions.  Call new visitor
method visit_include() for it, so visitors can see the sub-modules a
module includes.

Note that unlike other entities, QAPISchemaInclude has no name, and is
therefore not added to entity_dict.

New QAPISchemaEntity attribute @module names the entity's source file.
Call new visitor method visit_module() when it changes during a visit,
so visitors can keep track of the module being visited.

Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
[eblake: avoid accidental deletion of self._predefining]
Signed-off-by: Eric Blake <address@hidden>


  Commit: 834a3f349806e543db5c347feef5ef8de0a78559
      
https://github.com/qemu/qemu/commit/834a3f349806e543db5c347feef5ef8de0a78559
  Author: Markus Armbruster <address@hidden>
  Date:   2018-03-02 (Fri, 02 Mar 2018)

  Changed paths:
    M .gitignore
    M Makefile
    M Makefile.objs
    M docs/devel/qapi-code-gen.txt
    M qga/Makefile.objs
    M scripts/qapi/commands.py
    M tests/.gitignore
    M tests/Makefile.include
    A tests/test-qmp-cmds.c
    R tests/test-qmp-commands.c

  Log Message:
  -----------
  qapi: Rename generated qmp-marshal.c to qmp-commands.c

All generated .c are named like their .h, except for qmp-marshal.c and
qmp-commands.h.  To add to the confusion, tests-qmp-commands.c falsely
matches generated test-qmp-commands.h.

Get rid of this unnecessary complication.

Signed-off-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Reviewed-by: Michael Roth <address@hidden>
Signed-off-by: Eric Blake <address@hidden>


  Commit: 71b3f0459c460c9e16a47372ccddbfa6e2c7aadf
      
https://github.com/qemu/qemu/commit/71b3f0459c460c9e16a47372ccddbfa6e2c7aadf
  Author: Markus Armbruster <address@hidden>
  Date:   2018-03-02 (Fri, 02 Mar 2018)

  Changed paths:
    M scripts/qapi/commands.py
    M scripts/qapi/common.py
    M scripts/qapi/doc.py
    M scripts/qapi/events.py
    M scripts/qapi/introspect.py
    M scripts/qapi/types.py
    M scripts/qapi/visit.py

  Log Message:
  -----------
  qapi: Make code-generating visitors use QAPIGen more

The use of QAPIGen is rather shallow so far: most of the output
accumulation is not converted.  Take the next step: convert output
accumulation in the code-generating visitor classes.  Helper functions
outside these classes are not converted.

Signed-off-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Reviewed-by: Michael Roth <address@hidden>
[eblake: rebase to earlier guardstart cleanup]
Signed-off-by: Eric Blake <address@hidden>


  Commit: cdb6610ae4283720037bae2af1f78bd40eb5fe71
      
https://github.com/qemu/qemu/commit/cdb6610ae4283720037bae2af1f78bd40eb5fe71
  Author: Markus Armbruster <address@hidden>
  Date:   2018-03-02 (Fri, 02 Mar 2018)

  Changed paths:
    M .gitignore
    M Makefile
    M Makefile.objs
    M scripts/qapi/common.py
    M scripts/qapi/types.py
    M scripts/qapi/visit.py

  Log Message:
  -----------
  qapi/types qapi/visit: Generate built-in stuff into separate files

Linking code from multiple separate QAPI schemata into the same
program is possible, but involves some weirdness around built-in
types:

* We generate code for built-in types into .c only with option
  --builtins.  The user is responsible for generating code for exactly
  one QAPI schema per program with --builtins.

* We generate code for built-in types into .h regardless of
  --builtins, but guarded by #ifndef QAPI_VISIT_BUILTIN.  Because all
  copies of this code are exactly the same, including any combination
  of these headers works.

Replace this contraption by something more conventional: generate code
for built-in types into their very own files: qapi-builtin-types.c,
qapi-builtin-visit.c, qapi-builtin-types.h, qapi-builtin-visit.h, but
only with --builtins.  Obey --output-dir, but ignore --prefix for
them.

Make qapi-types.h include qapi-builtin-types.h.  With multiple
schemata you now have multiple qapi-types.[ch], but only one
qapi-builtin-types.[ch].  Same for qapi-visit.[ch] and
qapi-builtin-visit.[ch].

Bonus: if all you need is built-in stuff, you can include a much
smaller header.  To be exploited shortly.

Signed-off-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Reviewed-by: Michael Roth <address@hidden>
[eblake: fix octal constant for python 3]
Signed-off-by: Eric Blake <address@hidden>


  Commit: f9c146399dabefb8cd13c9c467a9e710af15ea70
      
https://github.com/qemu/qemu/commit/f9c146399dabefb8cd13c9c467a9e710af15ea70
  Author: Markus Armbruster <address@hidden>
  Date:   2018-03-02 (Fri, 02 Mar 2018)

  Changed paths:
    M scripts/qapi/common.py

  Log Message:
  -----------
  qapi/common: Fix guardname() for funny filenames

guardname() fails to return a valid C identifier for arguments
containing anything but [A-Za-z0-9_.-'].  Fix that.  Don't bother
protecting ticklish identifiers; header guards are all-caps, and no
ticklish identifiers are.

Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Michael Roth <address@hidden>
Signed-off-by: Eric Blake <address@hidden>


  Commit: 3da7a4161a96d7539588729042e987f4c6fd97c6
      
https://github.com/qemu/qemu/commit/3da7a4161a96d7539588729042e987f4c6fd97c6
  Author: Eric Blake <address@hidden>
  Date:   2018-03-02 (Fri, 02 Mar 2018)

  Changed paths:
    M qapi-schema.json
    M qapi/run-state.json

  Log Message:
  -----------
  watchdog: Consolidate QAPI into single file

Commit f0df84c6 added watchdog-set-action in the main qapi-schema.json,
but it belongs better in qapi/run-state.json alongside the definition
of WatchdogAction.  The command was written prior to commit 0e201d34
creating the latter file, even though it was merged after.

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


  Commit: 252dc3105fc494182e236e97fe20f2d6b1d652cb
      
https://github.com/qemu/qemu/commit/252dc3105fc494182e236e97fe20f2d6b1d652cb
  Author: Markus Armbruster <address@hidden>
  Date:   2018-03-02 (Fri, 02 Mar 2018)

  Changed paths:
    M .gitignore
    M Makefile
    M Makefile.objs
    M scripts/qapi/commands.py
    M scripts/qapi/common.py
    M scripts/qapi/events.py

  Log Message:
  -----------
  qapi: Generate separate .h, .c for each module

Our qapi-schema.json is composed of modules connected by include
directives, but the generated code is monolithic all the same: one
qapi-types.h with all the types, one qapi-visit.h with all the
visitors, and so forth.  These monolithic headers get included all
over the place.  In my "build everything" tree, adding a QAPI type
recompiles about 4800 out of 5100 objects.

We wouldn't write such monolithic headers by hand.  It stands to
reason that we shouldn't generate them, either.

Split up generated qapi-types.h to mirror the schema's modular
structure: one header per module.  Name the main module's header
qapi-types.h, and sub-module D/B.json's header D/qapi-types-B.h.

Mirror the schema's includes in the headers, so that qapi-types.h gets
you everything exactly as before.  If you need less, you can include
one or more of the sub-module headers.  To be exploited shortly.

Split up qapi-types.c, qapi-visit.h, qapi-visit.c, qmp-commands.h,
qmp-commands.c, qapi-event.h, qapi-event.c the same way.
qmp-introspect.h, qmp-introspect.c and qapi.texi remain monolithic.

The split of qmp-commands.c duplicates static helper function
qmp_marshal_output_str() in qapi-commands-char.c and
qapi-commands-misc.c.  This happens when commands returning the same
type occur in multiple modules.  Not worth avoiding.

Since I'm going to rename qapi-event.[ch] to qapi-events.[ch], and
qmp-commands.[ch] to qapi-commands.[ch], name the shards that way
already, to reduce churn.  This requires temporary hacks in
commands.py and events.py.  Similarly, c_name() must temporarily
be taught to munge '/' in common.py.  They'll go away with the rename.

Signed-off-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
[eblake: declare a dummy variable in each .c file, to shut up OSX
toolchain warnings about empty .o files, including hacking c_name()]
Signed-off-by: Eric Blake <address@hidden>


  Commit: 9af2398977a78d37bf184d6ff6bd04c72bfbf006
      
https://github.com/qemu/qemu/commit/9af2398977a78d37bf184d6ff6bd04c72bfbf006
  Author: Markus Armbruster <address@hidden>
  Date:   2018-03-02 (Fri, 02 Mar 2018)

  Changed paths:
    M backends/cryptodev.c
    M backends/hostmem.c
    M block.c
    M block/block-backend.c
    M block/crypto.c
    M block/nbd.c
    M block/nfs.c
    M block/qapi.c
    M block/qcow2.c
    M block/quorum.c
    M block/sheepdog.c
    M block/ssh.c
    M block/throttle-groups.c
    M block/write-threshold.c
    M blockdev-nbd.c
    M blockdev.c
    M blockjob.c
    M chardev/char-fe.c
    M chardev/char-ringbuf.c
    M chardev/char-socket.c
    M chardev/char.c
    M cpus.c
    M crypto/cipherpriv.h
    M hmp.c
    M hw/acpi/core.c
    M hw/block/block.c
    M hw/block/hd-geometry.c
    M hw/char/virtio-console.c
    M hw/core/machine.c
    M hw/i386/pc.c
    M hw/mem/nvdimm.c
    M hw/net/rocker/qmp-norocker.c
    M hw/net/rocker/rocker.c
    M hw/net/rocker/rocker_fp.c
    M hw/net/rocker/rocker_of_dpa.c
    M hw/net/virtio-net.c
    M hw/ppc/spapr_rtas.c
    M hw/tpm/tpm_emulator.c
    M hw/tpm/tpm_passthrough.c
    M hw/watchdog/watchdog.c
    M include/block/block.h
    M include/block/dirty-bitmap.h
    M include/block/nbd.h
    M include/chardev/char.h
    M include/crypto/cipher.h
    M include/crypto/hash.h
    M include/crypto/hmac.h
    M include/crypto/secret.h
    M include/crypto/tlscreds.h
    M include/hw/block/block.h
    M include/hw/block/fdc.h
    M include/hw/ppc/spapr_drc.h
    M include/hw/qdev-properties.h
    M include/io/dns-resolver.h
    M include/migration/colo.h
    M include/migration/failover.h
    M include/migration/global_state.h
    M include/monitor/monitor.h
    M include/net/filter.h
    M include/net/net.h
    M include/qapi/clone-visitor.h
    M include/qapi/error.h
    M include/qapi/qmp/qobject.h
    M include/qapi/visitor.h
    M include/qemu/sockets.h
    M include/qemu/throttle.h
    M include/qom/cpu.h
    M include/qom/object.h
    M include/sysemu/dump.h
    M include/sysemu/hostmem.h
    M include/sysemu/replay.h
    M include/sysemu/sysemu.h
    M include/sysemu/tpm.h
    M include/sysemu/watchdog.h
    M include/ui/console.h
    M include/ui/input.h
    M io/channel-socket.c
    M io/dns-resolver.c
    M migration/colo-failover.c
    M migration/colo.c
    M migration/migration.c
    M migration/migration.h
    M migration/ram.c
    M migration/ram.h
    M net/colo-compare.c
    M net/filter-buffer.c
    M net/filter-mirror.c
    M net/filter-rewriter.c
    M net/net.c
    M net/tap_int.h
    M net/vhost-user.c
    M qemu-img.c
    M qom/object.c
    M qom/object_interfaces.c
    M replay/replay-input.c
    M replication.h
    M scripts/qapi/commands.py
    M scripts/qapi/events.py
    M scripts/qapi/types.py
    M scripts/qapi/visit.py
    M stubs/tpm.c
    M target/s390x/kvm.c
    M target/s390x/sigp.c
    M tests/test-char.c
    M tests/test-qmp-event.c
    M tpm.c
    M trace/qmp.c
    M ui/console.c
    M ui/input-legacy.c
    M ui/input.c
    M ui/spice-core.c
    M ui/vnc.c
    M ui/vnc.h
    M util/qemu-sockets.c
    M vl.c

  Log Message:
  -----------
  Include less of the generated modular QAPI headers

In my "build everything" tree, a change to the types in
qapi-schema.json triggers a recompile of about 4800 out of 5100
objects.

The previous commit split up qmp-commands.h, qmp-event.h, qmp-visit.h,
qapi-types.h.  Each of these headers still includes all its shards.
Reduce compile time by including just the shards we actually need.

To illustrate the benefits: adding a type to qapi/migration.json now
recompiles some 2300 instead of 4800 objects.  The next commit will
improve it further.

Signed-off-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
[eblake: rebase to master]
Signed-off-by: Eric Blake <address@hidden>


  Commit: 112ed241f5d9a411dbca92bdf597151cb853c6a7
      
https://github.com/qemu/qemu/commit/112ed241f5d9a411dbca92bdf597151cb853c6a7
  Author: Markus Armbruster <address@hidden>
  Date:   2018-03-02 (Fri, 02 Mar 2018)

  Changed paths:
    M .gitignore
    M Makefile
    M Makefile.objs
    M arch_init.c
    M balloon.c
    M block/iscsi.c
    M cpus.c
    M dump.c
    M hmp.c
    M hw/acpi/core.c
    M hw/acpi/cpu.c
    M hw/acpi/memory_hotplug.c
    M hw/acpi/vmgenid.c
    M hw/core/qdev.c
    M hw/i386/xen/xen-hvm.c
    M hw/ipmi/ipmi.c
    M hw/pci/pci-stub.c
    M hw/pci/pci.c
    M hw/ppc/spapr_rtc.c
    M hw/s390x/s390-skeys.c
    M hw/timer/mc146818rtc.c
    M hw/virtio/virtio-balloon.c
    M hw/watchdog/watchdog.c
    M include/hw/qdev-properties.h
    M include/monitor/monitor.h
    M include/sysemu/arch_init.h
    M include/sysemu/balloon.h
    M include/sysemu/dump.h
    M include/sysemu/hostmem.h
    M include/sysemu/replay.h
    M iothread.c
    M migration/savevm.c
    M numa.c
    M qapi-schema.json
    A qapi/misc.json
    M qdev-monitor.c
    M qmp.c
    M stubs/uuid.c
    M stubs/vmgenid.c
    M stubs/xen-hvm.c
    M target/arm/monitor.c
    M target/i386/cpu.c
    M target/s390x/cpu.c
    M target/s390x/sigp.c
    M tests/qmp-test.c
    M tests/test-qobject-input-visitor.c
    M tests/test-visitor-serialization.c
    M ui/gtk.c
    M util/qemu-config.c
    M vl.c

  Log Message:
  -----------
  qapi: Empty out qapi-schema.json

The previous commit improved compile time by including less of the
generated QAPI headers.  This is impossible for stuff defined directly
in qapi-schema.json, because that ends up in headers that that pull in
everything.

Move everything but include directives from qapi-schema.json to new
sub-module qapi/misc.json, then include just the "misc" shard where
possible.

It's possible everywhere, except:

* monitor.c needs qmp-command.h to get qmp_init_marshal()

* monitor.c, ui/vnc.c and the generated qapi-event-FOO.c need
  qapi-event.h to get enum QAPIEvent

Perhaps we'll get rid of those some other day.

Adding a type to qapi/migration.json now recompiles some 120 instead
of 2300 out of 5100 objects.

Signed-off-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
[eblake: rebase to master]
Signed-off-by: Eric Blake <address@hidden>


  Commit: bfe873e988614cdfcd3f9078e14e6f94afeba04a
      
https://github.com/qemu/qemu/commit/bfe873e988614cdfcd3f9078e14e6f94afeba04a
  Author: Markus Armbruster <address@hidden>
  Date:   2018-03-02 (Fri, 02 Mar 2018)

  Changed paths:
    M docs/devel/writing-qmp-commands.txt

  Log Message:
  -----------
  docs/devel/writing-qmp-commands: Update for modular QAPI

With modular code generation, putting stuff right into
qapi-schema.json is a bad idea.  Update writing-qmp-commands.txt
accordingly.

Signed-off-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Reviewed-by: Michael Roth <address@hidden>
Signed-off-by: Eric Blake <address@hidden>


  Commit: bb46af41b9e7328626d2ecd37e48acbeb6832bc0
      
https://github.com/qemu/qemu/commit/bb46af41b9e7328626d2ecd37e48acbeb6832bc0
  Author: Markus Armbruster <address@hidden>
  Date:   2018-03-02 (Fri, 02 Mar 2018)

  Changed paths:
    M docs/devel/writing-qmp-commands.txt
    M docs/interop/qmp-intro.txt

  Log Message:
  -----------
  docs: Correct outdated information on QAPI

* Fix guidance on error classes

* Point to generated documentation

* Drop plea for documentation, because the QAPI code generator
  enforces it since commit 3313b6124b

* Minor tweaks here and there

Signed-off-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Reviewed-by: Michael Roth <address@hidden>
Signed-off-by: Eric Blake <address@hidden>


  Commit: eb815e248f50cde9ab86eddd57eca5019b71ca78
      
https://github.com/qemu/qemu/commit/eb815e248f50cde9ab86eddd57eca5019b71ca78
  Author: Markus Armbruster <address@hidden>
  Date:   2018-03-02 (Fri, 02 Mar 2018)

  Changed paths:
    M .gitignore
    M Makefile
    M Makefile.objs
    M backends/hostmem.c
    M docs/devel/qapi-code-gen.txt
    M docs/devel/writing-qmp-commands.txt
    M docs/interop/qmp-intro.txt
    M hmp.c
    M include/qapi/qmp/qobject.h
    M include/qapi/visitor.h
    M include/qom/object.h
    M monitor.c
    M net/filter-buffer.c
    R qapi-schema.json
    M qapi/misc.json
    A qapi/qapi-schema.json
    M qga/Makefile.objs
    M qga/commands-posix.c
    M qga/commands-win32.c
    M qga/commands.c
    M qga/main.c
    M qom/object.c
    M scripts/qapi/commands.py
    M scripts/qapi/common.py
    M scripts/qapi/events.py
    M scripts/qapi/introspect.py
    M scripts/qapi/types.py
    M scripts/qapi/visit.py
    M tests/.gitignore
    M tests/Makefile.include
    M tests/test-qmp-cmds.c
    M tests/test-qmp-event.c
    M tests/test-qobject-input-visitor.c
    M tpm.c
    M ui/cocoa.m
    M ui/vnc.c

  Log Message:
  -----------
  qapi: Move qapi-schema.json to qapi/, rename generated files

Move qapi-schema.json to qapi/, so it's next to its modules, and all
files get generated to qapi/, not just the ones generated for modules.

Consistently name the generated files qapi-MODULE.EXT:
qmp-commands.[ch] become qapi-commands.[ch], qapi-event.[ch] become
qapi-events.[ch], and qmp-introspect.[ch] become qapi-introspect.[ch].
This gets rid of the temporary hacks in scripts/qapi/commands.py,
scripts/qapi/events.py, and scripts/qapi/common.py.

Signed-off-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Reviewed-by: Michael Roth <address@hidden>
[eblake: Fix trailing dot in tpm.c, undo temporary hack for OSX toolchain]
Signed-off-by: Eric Blake <address@hidden>


  Commit: 1ef1cee7db805b97f000df2cb0712b50e75aef6c
      
https://github.com/qemu/qemu/commit/1ef1cee7db805b97f000df2cb0712b50e75aef6c
  Author: Markus Armbruster <address@hidden>
  Date:   2018-03-02 (Fri, 02 Mar 2018)

  Changed paths:
    M docs/xen-save-devices-state.txt
    M qmp.c

  Log Message:
  -----------
  Fix up dangling references to qmp-commands.* in comment and doc

Fix up the reference to qmp-commands.hx in qmp.c.  Missed in commit
5032a16d1d.

Fix up the reference to qmp-commands.txt in
docs/xen-save-devices-state.txt.  Missed in commit 4d8bb958fa.

Signed-off-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Reviewed-by: Michael Roth <address@hidden>
Signed-off-by: Eric Blake <address@hidden>


  Commit: 418b1d0ae3a2cc992659f626a2a3f11944e0b259
      
https://github.com/qemu/qemu/commit/418b1d0ae3a2cc992659f626a2a3f11944e0b259
  Author: Markus Armbruster <address@hidden>
  Date:   2018-03-02 (Fri, 02 Mar 2018)

  Changed paths:
    M .gitignore
    M Makefile
    M configure

  Log Message:
  -----------
  qapi: Don't create useless directory qapi-generated

We used to generate first test and later QGA QAPI code into
qapi-generated/.  Commit b93b63f574 moved the test code to tests/.
Commit 54c2e50205 moved the QGA code to qga/qapi-generated/.  The
directory has been unused since.

Signed-off-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Reviewed-by: Michael Roth <address@hidden>
Signed-off-by: Eric Blake <address@hidden>


  Commit: 7fceeb190ac6fbbbec0bf904f743190708301e31
      
https://github.com/qemu/qemu/commit/7fceeb190ac6fbbbec0bf904f743190708301e31
  Author: Peter Maydell <address@hidden>
  Date:   2018-03-05 (Mon, 05 Mar 2018)

  Changed paths:
    M .gitignore
    M Makefile
    M Makefile.objs
    M arch_init.c
    M backends/cryptodev.c
    M backends/hostmem.c
    M balloon.c
    M block.c
    M block/block-backend.c
    M block/crypto.c
    M block/iscsi.c
    M block/nbd.c
    M block/nfs.c
    M block/qapi.c
    M block/qcow2.c
    M block/quorum.c
    M block/sheepdog.c
    M block/ssh.c
    M block/throttle-groups.c
    M block/write-threshold.c
    M blockdev-nbd.c
    M blockdev.c
    M blockjob.c
    M chardev/char-fe.c
    M chardev/char-ringbuf.c
    M chardev/char-socket.c
    M chardev/char.c
    M configure
    M cpus.c
    M crypto/cipherpriv.h
    M docs/devel/qapi-code-gen.txt
    M docs/devel/writing-qmp-commands.txt
    M docs/interop/qmp-intro.txt
    M docs/xen-save-devices-state.txt
    M dump.c
    M hmp.c
    M hw/acpi/core.c
    M hw/acpi/cpu.c
    M hw/acpi/memory_hotplug.c
    M hw/acpi/vmgenid.c
    M hw/block/block.c
    M hw/block/hd-geometry.c
    M hw/char/virtio-console.c
    M hw/core/machine.c
    M hw/core/qdev.c
    M hw/i386/pc.c
    M hw/i386/xen/xen-hvm.c
    M hw/ipmi/ipmi.c
    M hw/mem/nvdimm.c
    M hw/net/rocker/qmp-norocker.c
    M hw/net/rocker/rocker.c
    M hw/net/rocker/rocker_fp.c
    M hw/net/rocker/rocker_of_dpa.c
    M hw/net/virtio-net.c
    M hw/pci/pci-stub.c
    M hw/pci/pci.c
    M hw/ppc/spapr_rtas.c
    M hw/ppc/spapr_rtc.c
    M hw/s390x/s390-skeys.c
    M hw/timer/mc146818rtc.c
    M hw/tpm/tpm_emulator.c
    M hw/tpm/tpm_passthrough.c
    M hw/virtio/virtio-balloon.c
    M hw/watchdog/watchdog.c
    M include/block/block.h
    M include/block/dirty-bitmap.h
    M include/block/nbd.h
    M include/chardev/char.h
    M include/crypto/cipher.h
    M include/crypto/hash.h
    M include/crypto/hmac.h
    M include/crypto/secret.h
    M include/crypto/tlscreds.h
    M include/hw/block/block.h
    M include/hw/block/fdc.h
    M include/hw/ppc/spapr_drc.h
    M include/hw/qdev-properties.h
    M include/io/dns-resolver.h
    M include/migration/colo.h
    M include/migration/failover.h
    M include/migration/global_state.h
    M include/monitor/monitor.h
    M include/net/filter.h
    M include/net/net.h
    M include/qapi/clone-visitor.h
    M include/qapi/error.h
    M include/qapi/qmp/qobject.h
    M include/qapi/visitor.h
    M include/qemu/sockets.h
    M include/qemu/throttle.h
    M include/qom/cpu.h
    M include/qom/object.h
    M include/sysemu/arch_init.h
    M include/sysemu/balloon.h
    M include/sysemu/dump.h
    M include/sysemu/hostmem.h
    M include/sysemu/replay.h
    M include/sysemu/sysemu.h
    M include/sysemu/tpm.h
    M include/sysemu/watchdog.h
    M include/ui/console.h
    M include/ui/input.h
    M io/channel-socket.c
    M io/dns-resolver.c
    M iothread.c
    M migration/colo-failover.c
    M migration/colo.c
    M migration/migration.c
    M migration/migration.h
    M migration/ram.c
    M migration/ram.h
    M migration/savevm.c
    M monitor.c
    M net/colo-compare.c
    M net/filter-buffer.c
    M net/filter-mirror.c
    M net/filter-rewriter.c
    M net/net.c
    M net/tap_int.h
    M net/vhost-user.c
    M numa.c
    R qapi-schema.json
    A qapi/misc.json
    A qapi/qapi-schema.json
    M qapi/run-state.json
    M qdev-monitor.c
    M qemu-img.c
    M qga/Makefile.objs
    M qga/commands-posix.c
    M qga/commands-win32.c
    M qga/commands.c
    M qga/main.c
    M qmp.c
    M qom/object.c
    M qom/object_interfaces.c
    M replay/replay-input.c
    M replication.h
    R scripts/qapi-commands.py
    R scripts/qapi-event.py
    A scripts/qapi-gen.py
    R scripts/qapi-introspect.py
    R scripts/qapi-types.py
    R scripts/qapi-visit.py
    R scripts/qapi.py
    A scripts/qapi/__init__.py
    A scripts/qapi/commands.py
    A scripts/qapi/common.py
    A scripts/qapi/doc.py
    A scripts/qapi/events.py
    A scripts/qapi/introspect.py
    A scripts/qapi/types.py
    A scripts/qapi/visit.py
    R scripts/qapi2texi.py
    M stubs/tpm.c
    M stubs/uuid.c
    M stubs/vmgenid.c
    M stubs/xen-hvm.c
    M target/arm/monitor.c
    M target/i386/cpu.c
    M target/s390x/cpu.c
    M target/s390x/kvm.c
    M target/s390x/sigp.c
    M tests/.gitignore
    M tests/Makefile.include
    M tests/qapi-schema/comments.out
    M tests/qapi-schema/doc-bad-section.out
    M tests/qapi-schema/doc-good.out
    M tests/qapi-schema/doc-good.texi
    M tests/qapi-schema/empty.out
    M tests/qapi-schema/event-case.out
    M tests/qapi-schema/ident-with-escape.out
    M tests/qapi-schema/include-no-file.err
    M tests/qapi-schema/include-relpath.out
    M tests/qapi-schema/include-repetition.out
    M tests/qapi-schema/include-simple.out
    M tests/qapi-schema/indented-expr.out
    M tests/qapi-schema/qapi-schema-test.out
    M tests/qapi-schema/test-qapi.py
    M tests/qmp-test.c
    M tests/test-char.c
    A tests/test-qmp-cmds.c
    R tests/test-qmp-commands.c
    M tests/test-qmp-event.c
    M tests/test-qobject-input-visitor.c
    M tests/test-visitor-serialization.c
    M tpm.c
    M trace/qmp.c
    M ui/cocoa.m
    M ui/console.c
    M ui/gtk.c
    M ui/input-legacy.c
    M ui/input.c
    M ui/spice-core.c
    M ui/vnc.c
    M ui/vnc.h
    M util/qemu-config.c
    M util/qemu-sockets.c
    M vl.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/ericb/tags/pull-qapi-2018-03-01-v4' 
into staging

qapi patches for 2018-03-01

- Markus Armbruster: Modularize generated QAPI code

# gpg: Signature made Fri 02 Mar 2018 19:50:16 GMT
# gpg:                using RSA key A7A16B4A2527436A
# gpg: Good signature from "Eric Blake <address@hidden>"
# gpg:                 aka "Eric Blake (Free Software Programmer) 
<address@hidden>"
# gpg:                 aka "[jpeg image of size 6874]"
# Primary key fingerprint: 71C2 CC22 B1C4 6029 27D2  F3AA A7A1 6B4A 2527 436A

* remotes/ericb/tags/pull-qapi-2018-03-01-v4: (30 commits)
  qapi: Don't create useless directory qapi-generated
  Fix up dangling references to qmp-commands.* in comment and doc
  qapi: Move qapi-schema.json to qapi/, rename generated files
  docs: Correct outdated information on QAPI
  docs/devel/writing-qmp-commands: Update for modular QAPI
  qapi: Empty out qapi-schema.json
  Include less of the generated modular QAPI headers
  qapi: Generate separate .h, .c for each module
  watchdog: Consolidate QAPI into single file
  qapi/common: Fix guardname() for funny filenames
  qapi/types qapi/visit: Generate built-in stuff into separate files
  qapi: Make code-generating visitors use QAPIGen more
  qapi: Rename generated qmp-marshal.c to qmp-commands.c
  qapi: Record 'include' directives in intermediate representation
  qapi: Generate in source order
  qapi: Record 'include' directives in parse tree
  qapi: Concentrate QAPISchemaParser.exprs updates in .__init__()
  qapi: Lift error reporting from QAPISchema.__init__() to callers
  qapi/common: Eliminate QAPISchema.exprs
  qapi: Improve include file name reporting in error messages
  ...

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


Compare: https://github.com/qemu/qemu/compare/4f51e1d386e3...7fceeb190ac6

reply via email to

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