[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] 0dd135: Include qapi/qmp/qerror.h exactly where needed,
GitHub <=