[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] 3cee17: qapi: Misc cleanups to migrate QAPIs
From: |
Peter Maydell |
Subject: |
[Qemu-commits] [qemu/qemu] 3cee17: qapi: Misc cleanups to migrate QAPIs |
Date: |
Mon, 26 Feb 2024 03:23:06 -0800 |
Branch: refs/heads/staging
Home: https://github.com/qemu/qemu
Commit: 3cee17e739d54cca5b6c6975f335a2115e5dbbbd
https://github.com/qemu/qemu/commit/3cee17e739d54cca5b6c6975f335a2115e5dbbbd
Author: Het Gala <het.gala@nutanix.com>
Date: 2024-02-26 (Mon, 26 Feb 2024)
Changed paths:
M qapi/migration.json
Log Message:
-----------
qapi: Misc cleanups to migrate QAPIs
Signed-off-by: Het Gala <het.gala@nutanix.com>
Message-ID: <20240216195659.189091-1-het.gala@nutanix.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Commit: 976474fdb2706626987677990e22f10d71918902
https://github.com/qemu/qemu/commit/976474fdb2706626987677990e22f10d71918902
Author: Markus Armbruster <armbru@redhat.com>
Date: 2024-02-26 (Mon, 26 Feb 2024)
Changed paths:
M tests/qapi-schema/doc-good.txt
M tests/qapi-schema/meson.build
Log Message:
-----------
tests/qapi-schema: Fix test 'QAPI rST doc'
The test compares Sphinx plain-text output against a golden reference.
To work on Windows hosts, it filters out carriage returns in both
files. Unfortunately, the filter doesn't work: it creates an empty
file. Comparing empty files always succeeds.
Fix the filter, and update the golden reference to current Sphinx
output.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-ID: <20240216145841.2099240-2-armbru@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Commit: fc68b9ffc933a5c38c0b880629a7f543a4a9b06b
https://github.com/qemu/qemu/commit/fc68b9ffc933a5c38c0b880629a7f543a4a9b06b
Author: Markus Armbruster <armbru@redhat.com>
Date: 2024-02-26 (Mon, 26 Feb 2024)
Changed paths:
A tests/qapi-schema/doc-duplicate-features.err
A tests/qapi-schema/doc-duplicate-features.json
A tests/qapi-schema/doc-duplicate-features.out
M tests/qapi-schema/meson.build
Log Message:
-----------
tests/qapi-schema: Cover duplicate 'Features:' line
We don't actually recognize the second 'Features:' line. Instead, we
treat it as an untagged section.
If it was followed by feature description, we'd reject that like
"description of '@feat2:' follows a section". Less than clear.
To be improved shortly.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-ID: <20240216145841.2099240-3-armbru@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Commit: 0ba2915b92813ce1982563378c48b6d2ba9a71ca
https://github.com/qemu/qemu/commit/0ba2915b92813ce1982563378c48b6d2ba9a71ca
Author: Markus Armbruster <armbru@redhat.com>
Date: 2024-02-26 (Mon, 26 Feb 2024)
Changed paths:
A tests/qapi-schema/doc-empty-features.err
A tests/qapi-schema/doc-empty-features.json
A tests/qapi-schema/doc-empty-features.out
M tests/qapi-schema/meson.build
Log Message:
-----------
tests/qapi-schema: Cover 'Features:' not followed by descriptions
A 'Features:' line without any features is useless, but not an error
now. However, a later commit will make it one, because that makes
rejecting duplicate 'Features:' easier.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-ID: <20240216145841.2099240-4-armbru@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Commit: e51e80ccf671dc285d0f868fff38aedb01694ae9
https://github.com/qemu/qemu/commit/e51e80ccf671dc285d0f868fff38aedb01694ae9
Author: Markus Armbruster <armbru@redhat.com>
Date: 2024-02-26 (Mon, 26 Feb 2024)
Changed paths:
M docs/sphinx/qapidoc.py
Log Message:
-----------
sphinx/qapidoc: Drop code to generate doc for simple union branch
Commit 4e99f4b12c0 (qapi: Drop simple unions) eliminated implicitly
defined union branch types, except for the empty object type
'q_empty'. QAPISchemaGenRSTVisitor._nodes_for_members() still has
code to generate documentation for implicitly defined union branch
types. It does nothing for 'q_empty'. Simplify.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-ID: <20240216145841.2099240-5-armbru@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Commit: 15333abed9112f99e0b1af4327154af733b987d3
https://github.com/qemu/qemu/commit/15333abed9112f99e0b1af4327154af733b987d3
Author: Markus Armbruster <armbru@redhat.com>
Date: 2024-02-26 (Mon, 26 Feb 2024)
Changed paths:
M scripts/qapi/parser.py
M tests/qapi-schema/doc-bad-alternate-member.err
M tests/qapi-schema/doc-bad-boxed-command-arg.err
M tests/qapi-schema/doc-bad-command-arg.err
M tests/qapi-schema/doc-bad-enum-member.err
M tests/qapi-schema/doc-bad-event-arg.err
M tests/qapi-schema/doc-bad-feature.err
M tests/qapi-schema/doc-bad-union-member.err
Log Message:
-----------
qapi: Improve error position for bogus argument descriptions
When documented arguments don't exist, the error message points to the
beginning of the definition comment. Point to the first bogus
argument description instead.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-ID: <20240216145841.2099240-6-armbru@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Commit: bf00dc19f3aacf014b308d57bb0debf250339396
https://github.com/qemu/qemu/commit/bf00dc19f3aacf014b308d57bb0debf250339396
Author: Markus Armbruster <armbru@redhat.com>
Date: 2024-02-26 (Mon, 26 Feb 2024)
Changed paths:
M scripts/qapi/parser.py
M tests/qapi-schema/doc-invalid-return.err
Log Message:
-----------
qapi: Improve error position for bogus invalid "Returns" section
When something other than a command has a "Returns" section, the error
message points to the beginning of the definition comment. Point to
the "Returns" section instead.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-ID: <20240216145841.2099240-7-armbru@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Commit: 573e2223f91a1662dad3c4ab5f6724bbe2633eff
https://github.com/qemu/qemu/commit/573e2223f91a1662dad3c4ab5f6724bbe2633eff
Author: Markus Armbruster <armbru@redhat.com>
Date: 2024-02-26 (Mon, 26 Feb 2024)
Changed paths:
M docs/sphinx/qapidoc.py
M scripts/qapi/parser.py
M tests/qapi-schema/doc-empty-section.err
Log Message:
-----------
qapi: Improve error message for empty doc sections
Improve the message for an empty tagged section from
empty doc section 'Note'
to
text required after 'Note:'
and the message for an empty argument or feature description from
empty doc section 'foo'
to
text required after '@foo:'
Improve the error position to refer to the beginning of the empty
section instead of its end.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-ID: <20240216145841.2099240-8-armbru@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Commit: 31c54b92ad0816ab1c4eddaf4b60c0b17a75dfc9
https://github.com/qemu/qemu/commit/31c54b92ad0816ab1c4eddaf4b60c0b17a75dfc9
Author: Markus Armbruster <armbru@redhat.com>
Date: 2024-02-26 (Mon, 26 Feb 2024)
Changed paths:
M docs/sphinx/qapidoc.py
M scripts/qapi/parser.py
M tests/qapi-schema/test-qapi.py
Log Message:
-----------
qapi: Rename QAPIDoc.Section.name to .tag
Since the previous commit, QAPIDoc.Section.name is either
None (untagged section) or the section's tag string ('Returns',
'@name', ...). Rename it to .tag.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-ID: <20240216145841.2099240-9-armbru@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Commit: 56c64dd60aebb9c856ab63de74c9e81acd079436
https://github.com/qemu/qemu/commit/56c64dd60aebb9c856ab63de74c9e81acd079436
Author: Markus Armbruster <armbru@redhat.com>
Date: 2024-02-26 (Mon, 26 Feb 2024)
Changed paths:
M scripts/qapi/parser.py
M tests/qapi-schema/doc-good.json
A tests/qapi-schema/doc-non-first-section.err
A tests/qapi-schema/doc-non-first-section.json
A tests/qapi-schema/doc-non-first-section.out
Log Message:
-----------
qapi: Reject section heading in the middle of a doc comment
docs/devel/qapi-code-gen.txt claims "A heading line must be the first
line of the documentation comment block" since commit
55ec69f8b16 (docs/devel/qapi-code-gen.txt: Update to new rST backend
conventions). Not true, we have code to make it work anywhere in a
free-form doc comment: commit dcdc07a97cb (qapi: Make section headings
start a new doc comment block).
Make it true, for simplicity's sake.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-ID: <20240216145841.2099240-10-armbru@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Commit: d23055b8db88a54b372ebbbffe3681169d2a767a
https://github.com/qemu/qemu/commit/d23055b8db88a54b372ebbbffe3681169d2a767a
Author: Markus Armbruster <armbru@redhat.com>
Date: 2024-02-26 (Mon, 26 Feb 2024)
Changed paths:
M docs/devel/qapi-code-gen.rst
M qapi/acpi.json
M qapi/block-core.json
M qapi/block.json
M qapi/char.json
M qapi/control.json
M qapi/dump.json
M qapi/machine-target.json
M qapi/machine.json
M qapi/migration.json
M qapi/misc-target.json
M qapi/misc.json
M qapi/net.json
M qapi/pci.json
M qapi/qdev.json
M qapi/qom.json
M qapi/rdma.json
M qapi/replay.json
M qapi/rocker.json
M qapi/run-state.json
M qapi/tpm.json
M qapi/trace.json
M qapi/transaction.json
M qapi/ui.json
M qapi/virtio.json
M qapi/yank.json
M scripts/qapi/parser.py
M tests/qapi-schema/doc-good.json
Log Message:
-----------
qapi: Require descriptions and tagged sections to be indented
By convention, we indent the second and subsequent lines of
descriptions and tagged sections, except for examples.
Turn this into a hard rule, and apply it to examples, too.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-ID: <20240216145841.2099240-11-armbru@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
[Straightforward conflicts in qapi/migration.json resolved]
Commit: 66227e90478b34a2bc4bbd4f11f5ea637184c20b
https://github.com/qemu/qemu/commit/66227e90478b34a2bc4bbd4f11f5ea637184c20b
Author: Markus Armbruster <armbru@redhat.com>
Date: 2024-02-26 (Mon, 26 Feb 2024)
Changed paths:
M docs/devel/qapi-code-gen.rst
M scripts/qapi/parser.py
M tests/qapi-schema/doc-duplicated-return.err
M tests/qapi-schema/doc-duplicated-return.json
M tests/qapi-schema/doc-duplicated-since.err
M tests/qapi-schema/doc-duplicated-since.json
M tests/qapi-schema/doc-good.json
M tests/qapi-schema/doc-invalid-return.err
M tests/qapi-schema/doc-invalid-return.json
Log Message:
-----------
qapi: Recognize section tags and 'Features:' only after blank line
Putting a blank line before section tags and 'Features:' is good,
existing practice. Enforce it.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-ID: <20240216145841.2099240-12-armbru@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Commit: fedc04c9fcbd9802d21848b4d55c436c003f4961
https://github.com/qemu/qemu/commit/fedc04c9fcbd9802d21848b4d55c436c003f4961
Author: Markus Armbruster <armbru@redhat.com>
Date: 2024-02-26 (Mon, 26 Feb 2024)
Changed paths:
M scripts/qapi/schema.py
Log Message:
-----------
qapi: Call QAPIDoc.check() always
We currently call QAPIDoc.check() only for definition documentation.
Calling it for free-form documentation as well is simpler. No change,
because it doesn't actually do anything there.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-ID: <20240216145841.2099240-13-armbru@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Commit: 0b82a7440c22056745a925d0b1c070e18534aa0e
https://github.com/qemu/qemu/commit/0b82a7440c22056745a925d0b1c070e18534aa0e
Author: Markus Armbruster <armbru@redhat.com>
Date: 2024-02-26 (Mon, 26 Feb 2024)
Changed paths:
M scripts/qapi/parser.py
M tests/qapi-schema/doc-empty-features.out
Log Message:
-----------
qapi: Merge adjacent untagged sections
The parser mostly doesn't create adjacent untagged sections, and
merging the ones it does create is hardly worth the bother. I'm doing
it to avoid behavioral change in the next commit.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-ID: <20240216145841.2099240-14-armbru@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Commit: 3d035cd2cca66488f6f478a93b231c302466116b
https://github.com/qemu/qemu/commit/3d035cd2cca66488f6f478a93b231c302466116b
Author: Markus Armbruster <armbru@redhat.com>
Date: 2024-02-26 (Mon, 26 Feb 2024)
Changed paths:
M scripts/qapi/parser.py
Log Message:
-----------
qapi: Rewrite doc comment parser
QAPISchemaParser is a conventional recursive descent parser. Except
QAPISchemaParser.get_doc() delegates most of the doc comment parsing
work to a state machine in QAPIDoc. The state machine doesn't get
tokens like a recursive descent parser, it is fed tokens.
I find this state machine rather opaque and hard to maintain.
Replace it by a conventional parser, all in QAPISchemaParser. Less
code, and (at least in my opinion) easier to understand.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-ID: <20240216145841.2099240-15-armbru@redhat.com>
Tested-by: Daniel P. Berrangé <berrange@redhat.com>
Commit: 629c5075aa6fb853855256cd7d380903e9b7ffbc
https://github.com/qemu/qemu/commit/629c5075aa6fb853855256cd7d380903e9b7ffbc
Author: Markus Armbruster <armbru@redhat.com>
Date: 2024-02-26 (Mon, 26 Feb 2024)
Changed paths:
M qapi/run-state.json
M scripts/qapi/parser.py
M tests/qapi-schema/doc-duplicate-features.err
M tests/qapi-schema/doc-duplicate-features.out
M tests/qapi-schema/doc-empty-features.err
M tests/qapi-schema/doc-empty-features.out
Log Message:
-----------
qapi: Reject multiple and empty feature descriptions
The parser recognizes only the first "Features:" line. Any subsequent
ones are treated as ordinary text, as visible in test case
doc-duplicate-features. Recognize "Features:" lines anywhere. A
second one is an error.
A 'Features:' line without any features is useless, but not an error.
Make it an error. This makes detecting a second "Features:" line
easier.
qapi/run-state.json actually has an instance of this since commit
fe17522d854 (qapi: Remove deprecated 'singlestep' member of
StatusInfo). Clean it up.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-ID: <20240216145841.2099240-16-armbru@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Commit: adb0193b90bd1fecd7d6dda70fc1c2d2e45ceae0
https://github.com/qemu/qemu/commit/adb0193b90bd1fecd7d6dda70fc1c2d2e45ceae0
Author: Markus Armbruster <armbru@redhat.com>
Date: 2024-02-26 (Mon, 26 Feb 2024)
Changed paths:
M scripts/qapi/parser.py
M tests/qapi-schema/doc-duplicated-arg.err
M tests/qapi-schema/doc-duplicated-return.err
M tests/qapi-schema/doc-duplicated-since.err
M tests/qapi-schema/doc-empty-arg.err
Log Message:
-----------
qapi: Divorce QAPIDoc from QAPIParseError
QAPIDoc stores a reference to QAPIParser just to pass it to
QAPIParseError. The resulting error position depends on the state of
the parser. It happens to be the current comment line. Servicable,
but action at a distance.
The commit before previous moved most uses of QAPIParseError from
QAPIDoc to QAPIParser. There are just three left. Convert them to
QAPISemError. This involves passing info to a few methods. Then drop
the reference to QAPIParser.
The three errors lose the column number. Not really interesting here:
it's the comment line's indentation.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-ID: <20240216145841.2099240-17-armbru@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Commit: 03d496a992d98650315af41be7c0ca6de2a28da1
https://github.com/qemu/qemu/commit/03d496a992d98650315af41be7c0ca6de2a28da1
Author: Peter Maydell <peter.maydell@linaro.org>
Date: 2024-02-26 (Mon, 26 Feb 2024)
Changed paths:
M docs/devel/qapi-code-gen.rst
M docs/sphinx/qapidoc.py
M qapi/acpi.json
M qapi/block-core.json
M qapi/block.json
M qapi/char.json
M qapi/control.json
M qapi/dump.json
M qapi/machine-target.json
M qapi/machine.json
M qapi/migration.json
M qapi/misc-target.json
M qapi/misc.json
M qapi/net.json
M qapi/pci.json
M qapi/qdev.json
M qapi/qom.json
M qapi/rdma.json
M qapi/replay.json
M qapi/rocker.json
M qapi/run-state.json
M qapi/tpm.json
M qapi/trace.json
M qapi/transaction.json
M qapi/ui.json
M qapi/virtio.json
M qapi/yank.json
M scripts/qapi/parser.py
M scripts/qapi/schema.py
M tests/qapi-schema/doc-bad-alternate-member.err
M tests/qapi-schema/doc-bad-boxed-command-arg.err
M tests/qapi-schema/doc-bad-command-arg.err
M tests/qapi-schema/doc-bad-enum-member.err
M tests/qapi-schema/doc-bad-event-arg.err
M tests/qapi-schema/doc-bad-feature.err
M tests/qapi-schema/doc-bad-union-member.err
A tests/qapi-schema/doc-duplicate-features.err
A tests/qapi-schema/doc-duplicate-features.json
A tests/qapi-schema/doc-duplicate-features.out
M tests/qapi-schema/doc-duplicated-arg.err
M tests/qapi-schema/doc-duplicated-return.err
M tests/qapi-schema/doc-duplicated-return.json
M tests/qapi-schema/doc-duplicated-since.err
M tests/qapi-schema/doc-duplicated-since.json
M tests/qapi-schema/doc-empty-arg.err
A tests/qapi-schema/doc-empty-features.err
A tests/qapi-schema/doc-empty-features.json
A tests/qapi-schema/doc-empty-features.out
M tests/qapi-schema/doc-empty-section.err
M tests/qapi-schema/doc-good.json
M tests/qapi-schema/doc-good.txt
M tests/qapi-schema/doc-invalid-return.err
M tests/qapi-schema/doc-invalid-return.json
A tests/qapi-schema/doc-non-first-section.err
A tests/qapi-schema/doc-non-first-section.json
A tests/qapi-schema/doc-non-first-section.out
M tests/qapi-schema/meson.build
M tests/qapi-schema/test-qapi.py
Log Message:
-----------
Merge tag 'pull-qapi-2024-02-26' of https://repo.or.cz/qemu/armbru into
staging
QAPI patches patches for 2024-02-26
# -----BEGIN PGP SIGNATURE-----
#
# iQJGBAABCAAwFiEENUvIs9frKmtoZ05fOHC0AOuRhlMFAmXcXWUSHGFybWJydUBy
# ZWRoYXQuY29tAAoJEDhwtADrkYZTMqQP/3aZ8Jm48Bh4sG5JxJ01aM3iX//cuA8X
# 0xoKBfDWkwKvUDE+sv+2qH1WxcNGS4wb/lLaT6Jf0S8EzzelDx5zYGwXXsmBljoZ
# Kh8BI7Oe1SQwI5Z36q/efG9isQ6nqGyxR9xu1BTbJCSOZXzxpOBljbSyXOtKc5C/
# HM4TK82geLLgm04gMkoPmFdu3BXDfPYnGJ3UNLE9hTPoW7XL4EGFAOOWuDcrSF5n
# OdHjfK9TK9PcxsJGqVUqLHwfRQYLMBni6OkurdFOVdLM1v4C707NuryjaGQc1WEI
# xKwsJDKR+zG7vGu4y594HN/Ivoaqci8MMTbDgVmHZ3LaI3RUfSplGTDSYLjCp8jz
# XDx82+hhmb/2ZMmE0tarUQyv0dimrZSEh6cWWHMvp63edKTywoB/eIDR9lBteTZe
# wRvkSKmN6oKJI8cNiiXZqw5y2JPvhNag4Xdr8kHKwHgxVWP+SneInLCC+T2SMgio
# EeC+S4CVTdjPvEC96dOGrsqKn+gl/h74PK5ZdTaD1B6XCuIalsRn6REujqW6Ew6n
# rj7Iec/noejeOsflzBWRKT91t2Zck/MRLhX9nYqybBxyxUFvFS7M6ok/iq4oEtZR
# lJooF6iiq8xtEzoLselfGFAZTUxhwLdUfXPVDx7p5HDpJci88xv6zmav9eE84JbH
# mBD55GEH17ka
# =81Zq
# -----END PGP SIGNATURE-----
# gpg: Signature made Mon 26 Feb 2024 09:44:05 GMT
# gpg: using RSA key 354BC8B3D7EB2A6B68674E5F3870B400EB918653
# gpg: issuer "armbru@redhat.com"
# gpg: Good signature from "Markus Armbruster <armbru@redhat.com>" [full]
# gpg: aka "Markus Armbruster <armbru@pond.sub.org>" [full]
# Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867 4E5F 3870 B400 EB91 8653
* tag 'pull-qapi-2024-02-26' of https://repo.or.cz/qemu/armbru:
qapi: Divorce QAPIDoc from QAPIParseError
qapi: Reject multiple and empty feature descriptions
qapi: Rewrite doc comment parser
qapi: Merge adjacent untagged sections
qapi: Call QAPIDoc.check() always
qapi: Recognize section tags and 'Features:' only after blank line
qapi: Require descriptions and tagged sections to be indented
qapi: Reject section heading in the middle of a doc comment
qapi: Rename QAPIDoc.Section.name to .tag
qapi: Improve error message for empty doc sections
qapi: Improve error position for bogus invalid "Returns" section
qapi: Improve error position for bogus argument descriptions
sphinx/qapidoc: Drop code to generate doc for simple union branch
tests/qapi-schema: Cover 'Features:' not followed by descriptions
tests/qapi-schema: Cover duplicate 'Features:' line
tests/qapi-schema: Fix test 'QAPI rST doc'
qapi: Misc cleanups to migrate QAPIs
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Compare: https://github.com/qemu/qemu/compare/dd88d696ccec...03d496a992d9
To unsubscribe from these emails, change your notification settings at
https://github.com/qemu/qemu/settings/notifications
- [Qemu-commits] [qemu/qemu] 3cee17: qapi: Misc cleanups to migrate QAPIs,
Peter Maydell <=