History log of /openbmc/qemu/scripts/qapi/ (Results 376 – 400 of 510)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
02ac641a18-Oct-2019 Markus Armbruster <armbru@redhat.com>

qapi: Clear scripts/qapi/doc.py executable bits again

Commit fbf09a2fa4 "qapi: add 'ifcond' to visitor methods" brought back
the executable bits. Fix that. Drop the #! line for good measure.

Sign

qapi: Clear scripts/qapi/doc.py executable bits again

Commit fbf09a2fa4 "qapi: add 'ifcond' to visitor methods" brought back
the executable bits. Fix that. Drop the #! line for good measure.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20191018074345.24034-8-armbru@redhat.com>

show more ...

e6c42b9618-Oct-2019 Markus Armbruster <armbru@redhat.com>

qapi: Split up scripts/qapi/common.py

The QAPI code generator clocks in at some 3100 SLOC in 8 source files.
Almost 60% of the code is in qapi/common.py. Split it into more
focused modules:

* Move

qapi: Split up scripts/qapi/common.py

The QAPI code generator clocks in at some 3100 SLOC in 8 source files.
Almost 60% of the code is in qapi/common.py. Split it into more
focused modules:

* Move QAPISchemaPragma and QAPISourceInfo to qapi/source.py.

* Move QAPIError and its sub-classes to qapi/error.py.

* Move QAPISchemaParser and QAPIDoc to parser.py. Use the opportunity
to put QAPISchemaParser first.

* Move check_expr() & friends to qapi/expr.py. Use the opportunity to
put the code into a more sensible order.

* Move QAPISchema & friends to qapi/schema.py

* Move QAPIGen and its sub-classes, ifcontext,
QAPISchemaModularCVisitor, and QAPISchemaModularCVisitor to qapi/gen.py

* Delete camel_case(), it's unused since commit e98859a9b9 "qapi:
Clean up after recent conversions to QAPISchemaVisitor"

A number of helper functions remain in qapi/common.py. I considered
moving the code generator helpers to qapi/gen.py, but decided not to.
Perhaps we should rewrite them as methods of QAPIGen some day.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20191018074345.24034-7-armbru@redhat.com>
[Add "# -*- coding: utf-8 -*-" lines]

show more ...

61bfb2e118-Oct-2019 Markus Armbruster <armbru@redhat.com>

qapi: Move gen_enum(), gen_enum_lookup() back to qapi/types.py

The next commit will split up qapi/common.py. gen_enum() needs
QAPISchemaEnumMember, and that's in the way. Move it to qapi/types.py

qapi: Move gen_enum(), gen_enum_lookup() back to qapi/types.py

The next commit will split up qapi/common.py. gen_enum() needs
QAPISchemaEnumMember, and that's in the way. Move it to qapi/types.py
along with its buddy gen_enum_lookup().

Permit me a short a digression on history: how did gen_enum() end up
in qapi/common.py? Commit 21cd70dfc1 "qapi script: add event support"
duplicated qapi-types.py's gen_enum() and gen_enum_lookup() in
qapi-event.py. Simply importing them would have been cleaner, but
wasn't possible as qapi-types.py was a program, not a module. Commit
efd2eaa6c2 "qapi: De-duplicate enum code generation" de-duplicated by
moving them to qapi.py, which was a module.

Since then, program qapi-types.py has morphed into module types.py.
It's where gen_enum() and gen_enum_lookup() started, and where they
belong.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20191018074345.24034-6-armbru@redhat.com>

show more ...


common.py
events.py
types.py
/openbmc/qemu/tests/Makefile.include
/openbmc/qemu/tests/qapi-schema/allow-preconfig-test.err
/openbmc/qemu/tests/qapi-schema/alternate-any.err
/openbmc/qemu/tests/qapi-schema/alternate-array.err
/openbmc/qemu/tests/qapi-schema/alternate-base.err
/openbmc/qemu/tests/qapi-schema/alternate-branch-if-invalid.err
/openbmc/qemu/tests/qapi-schema/alternate-clash.err
/openbmc/qemu/tests/qapi-schema/alternate-conflict-bool-string.err
/openbmc/qemu/tests/qapi-schema/alternate-conflict-dict.err
/openbmc/qemu/tests/qapi-schema/alternate-conflict-enum-bool.err
/openbmc/qemu/tests/qapi-schema/alternate-conflict-enum-int.err
/openbmc/qemu/tests/qapi-schema/alternate-conflict-num-string.err
/openbmc/qemu/tests/qapi-schema/alternate-conflict-string.err
/openbmc/qemu/tests/qapi-schema/alternate-empty.err
/openbmc/qemu/tests/qapi-schema/alternate-invalid-dict.err
/openbmc/qemu/tests/qapi-schema/alternate-nested.err
/openbmc/qemu/tests/qapi-schema/alternate-unknown.err
/openbmc/qemu/tests/qapi-schema/args-alternate.err
/openbmc/qemu/tests/qapi-schema/args-any.err
/openbmc/qemu/tests/qapi-schema/args-array-empty.err
/openbmc/qemu/tests/qapi-schema/args-array-unknown.err
/openbmc/qemu/tests/qapi-schema/args-bad-boxed.err
/openbmc/qemu/tests/qapi-schema/args-boxed-anon.err
/openbmc/qemu/tests/qapi-schema/args-boxed-string.err
/openbmc/qemu/tests/qapi-schema/args-int.err
/openbmc/qemu/tests/qapi-schema/args-invalid.err
/openbmc/qemu/tests/qapi-schema/args-member-array-bad.err
/openbmc/qemu/tests/qapi-schema/args-member-case.err
/openbmc/qemu/tests/qapi-schema/args-member-unknown.err
/openbmc/qemu/tests/qapi-schema/args-name-clash.err
/openbmc/qemu/tests/qapi-schema/args-union.err
/openbmc/qemu/tests/qapi-schema/args-unknown.err
/openbmc/qemu/tests/qapi-schema/bad-base.err
/openbmc/qemu/tests/qapi-schema/bad-data.err
/openbmc/qemu/tests/qapi-schema/bad-ident.err
/openbmc/qemu/tests/qapi-schema/bad-if-empty-list.err
/openbmc/qemu/tests/qapi-schema/bad-if-empty.err
/openbmc/qemu/tests/qapi-schema/bad-if-list.err
/openbmc/qemu/tests/qapi-schema/bad-if.err
/openbmc/qemu/tests/qapi-schema/bad-type-bool.err
/openbmc/qemu/tests/qapi-schema/bad-type-dict.err
/openbmc/qemu/tests/qapi-schema/bad-type-int.err
/openbmc/qemu/tests/qapi-schema/base-cycle-direct.err
/openbmc/qemu/tests/qapi-schema/base-cycle-indirect.err
/openbmc/qemu/tests/qapi-schema/command-int.err
/openbmc/qemu/tests/qapi-schema/doc-bad-alternate-member.err
/openbmc/qemu/tests/qapi-schema/doc-bad-command-arg.err
/openbmc/qemu/tests/qapi-schema/doc-bad-symbol.err
/openbmc/qemu/tests/qapi-schema/doc-bad-union-member.err
/openbmc/qemu/tests/qapi-schema/doc-before-include.err
/openbmc/qemu/tests/qapi-schema/doc-before-pragma.err
/openbmc/qemu/tests/qapi-schema/doc-duplicated-arg.err
/openbmc/qemu/tests/qapi-schema/doc-duplicated-return.err
/openbmc/qemu/tests/qapi-schema/doc-duplicated-since.err
/openbmc/qemu/tests/qapi-schema/doc-empty-arg.err
/openbmc/qemu/tests/qapi-schema/doc-empty-section.err
/openbmc/qemu/tests/qapi-schema/doc-empty-symbol.err
/openbmc/qemu/tests/qapi-schema/doc-interleaved-section.err
/openbmc/qemu/tests/qapi-schema/doc-invalid-end.err
/openbmc/qemu/tests/qapi-schema/doc-invalid-end2.err
/openbmc/qemu/tests/qapi-schema/doc-invalid-return.err
/openbmc/qemu/tests/qapi-schema/doc-invalid-section.err
/openbmc/qemu/tests/qapi-schema/doc-invalid-start.err
/openbmc/qemu/tests/qapi-schema/doc-missing-colon.err
/openbmc/qemu/tests/qapi-schema/doc-missing-expr.err
/openbmc/qemu/tests/qapi-schema/doc-missing-space.err
/openbmc/qemu/tests/qapi-schema/doc-missing.err
/openbmc/qemu/tests/qapi-schema/doc-no-symbol.err
/openbmc/qemu/tests/qapi-schema/double-type.err
/openbmc/qemu/tests/qapi-schema/duplicate-key.err
/openbmc/qemu/tests/qapi-schema/enum-bad-member.err
/openbmc/qemu/tests/qapi-schema/enum-bad-name.err
/openbmc/qemu/tests/qapi-schema/enum-bad-prefix.err
/openbmc/qemu/tests/qapi-schema/enum-clash-member.err
/openbmc/qemu/tests/qapi-schema/enum-dict-member-unknown.err
/openbmc/qemu/tests/qapi-schema/enum-if-invalid.err
/openbmc/qemu/tests/qapi-schema/enum-int-member.err
/openbmc/qemu/tests/qapi-schema/enum-member-case.err
/openbmc/qemu/tests/qapi-schema/enum-missing-data.err
/openbmc/qemu/tests/qapi-schema/enum-wrong-data.err
/openbmc/qemu/tests/qapi-schema/escape-outside-string.err
/openbmc/qemu/tests/qapi-schema/event-boxed-empty.err
/openbmc/qemu/tests/qapi-schema/event-member-invalid-dict.err
/openbmc/qemu/tests/qapi-schema/event-nest-struct.err
/openbmc/qemu/tests/qapi-schema/features-bad-type.err
/openbmc/qemu/tests/qapi-schema/features-duplicate-name.err
/openbmc/qemu/tests/qapi-schema/features-if-invalid.err
/openbmc/qemu/tests/qapi-schema/features-missing-name.err
/openbmc/qemu/tests/qapi-schema/features-name-bad-type.err
/openbmc/qemu/tests/qapi-schema/features-no-list.err
/openbmc/qemu/tests/qapi-schema/features-unknown-key.err
/openbmc/qemu/tests/qapi-schema/flat-union-array-branch.err
/openbmc/qemu/tests/qapi-schema/flat-union-bad-base.err
/openbmc/qemu/tests/qapi-schema/flat-union-bad-discriminator.err
/openbmc/qemu/tests/qapi-schema/flat-union-base-any.err
/openbmc/qemu/tests/qapi-schema/flat-union-base-union.err
/openbmc/qemu/tests/qapi-schema/flat-union-clash-member.err
/openbmc/qemu/tests/qapi-schema/flat-union-discriminator-bad-name.err
/openbmc/qemu/tests/qapi-schema/flat-union-empty.err
/openbmc/qemu/tests/qapi-schema/flat-union-inline-invalid-dict.err
/openbmc/qemu/tests/qapi-schema/flat-union-inline.err
/openbmc/qemu/tests/qapi-schema/flat-union-int-branch.err
/openbmc/qemu/tests/qapi-schema/flat-union-invalid-branch-key.err
/openbmc/qemu/tests/qapi-schema/flat-union-invalid-discriminator.err
/openbmc/qemu/tests/qapi-schema/flat-union-invalid-if-discriminator.err
/openbmc/qemu/tests/qapi-schema/flat-union-no-base.err
/openbmc/qemu/tests/qapi-schema/flat-union-optional-discriminator.err
/openbmc/qemu/tests/qapi-schema/flat-union-string-discriminator.err
/openbmc/qemu/tests/qapi-schema/funny-char.err
/openbmc/qemu/tests/qapi-schema/funny-word.err
/openbmc/qemu/tests/qapi-schema/ident-with-escape.err
/openbmc/qemu/tests/qapi-schema/include-before-err.err
/openbmc/qemu/tests/qapi-schema/include-cycle.err
/openbmc/qemu/tests/qapi-schema/include-extra-junk.err
/openbmc/qemu/tests/qapi-schema/include-nested-err.err
/openbmc/qemu/tests/qapi-schema/include-no-file.err
/openbmc/qemu/tests/qapi-schema/include-non-file.err
/openbmc/qemu/tests/qapi-schema/include-self-cycle.err
/openbmc/qemu/tests/qapi-schema/leading-comma-list.err
/openbmc/qemu/tests/qapi-schema/leading-comma-object.err
/openbmc/qemu/tests/qapi-schema/missing-colon.err
/openbmc/qemu/tests/qapi-schema/missing-comma-list.err
/openbmc/qemu/tests/qapi-schema/missing-comma-object.err
/openbmc/qemu/tests/qapi-schema/missing-type.err
/openbmc/qemu/tests/qapi-schema/nested-struct-data-invalid-dict.err
/openbmc/qemu/tests/qapi-schema/nested-struct-data.err
/openbmc/qemu/tests/qapi-schema/non-objects.err
/openbmc/qemu/tests/qapi-schema/oob-test.err
/openbmc/qemu/tests/qapi-schema/pragma-doc-required-crap.err
/openbmc/qemu/tests/qapi-schema/pragma-extra-junk.err
/openbmc/qemu/tests/qapi-schema/pragma-name-case-whitelist-crap.err
/openbmc/qemu/tests/qapi-schema/pragma-non-dict.err
/openbmc/qemu/tests/qapi-schema/pragma-returns-whitelist-crap.err
/openbmc/qemu/tests/qapi-schema/pragma-unknown.err
/openbmc/qemu/tests/qapi-schema/quoted-structural-chars.err
/openbmc/qemu/tests/qapi-schema/redefined-builtin.err
/openbmc/qemu/tests/qapi-schema/redefined-command.err
/openbmc/qemu/tests/qapi-schema/redefined-event.err
/openbmc/qemu/tests/qapi-schema/redefined-type.err
/openbmc/qemu/tests/qapi-schema/reserved-command-q.err
/openbmc/qemu/tests/qapi-schema/reserved-enum-q.err
/openbmc/qemu/tests/qapi-schema/reserved-member-has.err
/openbmc/qemu/tests/qapi-schema/reserved-member-q.err
/openbmc/qemu/tests/qapi-schema/reserved-member-u.err
/openbmc/qemu/tests/qapi-schema/reserved-member-underscore.err
/openbmc/qemu/tests/qapi-schema/reserved-type-kind.err
/openbmc/qemu/tests/qapi-schema/reserved-type-list.err
/openbmc/qemu/tests/qapi-schema/returns-alternate.err
/openbmc/qemu/tests/qapi-schema/returns-array-bad.err
/openbmc/qemu/tests/qapi-schema/returns-dict.err
/openbmc/qemu/tests/qapi-schema/returns-unknown.err
/openbmc/qemu/tests/qapi-schema/returns-whitelist.err
/openbmc/qemu/tests/qapi-schema/string-code-point-127.err
/openbmc/qemu/tests/qapi-schema/string-code-point-31.err
/openbmc/qemu/tests/qapi-schema/struct-base-clash-deep.err
/openbmc/qemu/tests/qapi-schema/struct-base-clash.err
/openbmc/qemu/tests/qapi-schema/struct-data-invalid.err
/openbmc/qemu/tests/qapi-schema/struct-member-if-invalid.err
/openbmc/qemu/tests/qapi-schema/struct-member-invalid-dict.err
/openbmc/qemu/tests/qapi-schema/struct-member-invalid.err
/openbmc/qemu/tests/qapi-schema/test-qapi.py
/openbmc/qemu/tests/qapi-schema/trailing-comma-list.err
/openbmc/qemu/tests/qapi-schema/trailing-comma-object.err
/openbmc/qemu/tests/qapi-schema/type-bypass-bad-gen.err
/openbmc/qemu/tests/qapi-schema/unclosed-list.err
/openbmc/qemu/tests/qapi-schema/unclosed-object.err
/openbmc/qemu/tests/qapi-schema/unclosed-string.err
/openbmc/qemu/tests/qapi-schema/union-base-empty.err
/openbmc/qemu/tests/qapi-schema/union-base-no-discriminator.err
/openbmc/qemu/tests/qapi-schema/union-branch-case.err
/openbmc/qemu/tests/qapi-schema/union-branch-if-invalid.err
/openbmc/qemu/tests/qapi-schema/union-branch-invalid-dict.err
/openbmc/qemu/tests/qapi-schema/union-clash-branches.err
/openbmc/qemu/tests/qapi-schema/union-empty.err
/openbmc/qemu/tests/qapi-schema/union-invalid-base.err
/openbmc/qemu/tests/qapi-schema/union-optional-branch.err
/openbmc/qemu/tests/qapi-schema/union-unknown.err
/openbmc/qemu/tests/qapi-schema/unknown-escape.err
/openbmc/qemu/tests/qapi-schema/unknown-expr-key.err
0002b55718-Oct-2019 Markus Armbruster <armbru@redhat.com>

qapi: Eliminate accidental global frontend state

The frontend can't be run more than once due to its global state.
A future commit will want to do that.

The only global frontend state remaining is

qapi: Eliminate accidental global frontend state

The frontend can't be run more than once due to its global state.
A future commit will want to do that.

The only global frontend state remaining is accidental:
QAPISchemaParser.__init__()'s parameter previously_included=[].
Python evaluates the default once, at definition time. Any
modifications to it are visible in subsequent calls. Well-known
Python trap. Change the default to None and replace it by the real
default in the function body. Use the opportunity to convert
previously_included to a set.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20191018074345.24034-4-armbru@redhat.com>

show more ...

2a7bbedd18-Oct-2019 Markus Armbruster <armbru@redhat.com>

qapi: Store pragma state in QAPISourceInfo, not global state

The frontend can't be run more than once due to its global state.
A future commit will want to do that.

Recent commit "qapi: Move contex

qapi: Store pragma state in QAPISourceInfo, not global state

The frontend can't be run more than once due to its global state.
A future commit will want to do that.

Recent commit "qapi: Move context-sensitive checking to the proper
place" got rid of many global variables already, but pragma state is
still stored in global variables (that's why a pragma directive's
scope is the complete schema).

Move the pragma state to QAPISourceInfo.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20191018074345.24034-3-armbru@redhat.com>

show more ...

f3d4aa5a18-Oct-2019 Markus Armbruster <armbru@redhat.com>

qapi: Don't suppress doc generation without pragma doc-required

Commit bc52d03ff5 "qapi: Make doc comments optional where we don't
need them" made scripts/qapi2texi.py fail[*] unless the schema had

qapi: Don't suppress doc generation without pragma doc-required

Commit bc52d03ff5 "qapi: Make doc comments optional where we don't
need them" made scripts/qapi2texi.py fail[*] unless the schema had
pragma 'doc-required': true. The stated reason was inability to cope
with incomplete documentation.

When commit fb0bc835e5 "qapi-gen: New common driver for code and doc
generators" folded scripts/qapi2texi.py into scripts/qapi-gen.py, it
turned the failure into silent suppression.

The doc generator can cope with incomplete documentation now. I don't
know since when, or what the problem was, or even whether it ever
existed.

Drop the silent suppression.

[*] The fail part was broken, fixed in commit e8ba07ea9a.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20191018074345.24034-2-armbru@redhat.com>

show more ...


/openbmc/qemu/MAINTAINERS
/openbmc/qemu/Makefile
/openbmc/qemu/accel/kvm/kvm-all.c
/openbmc/qemu/audio/alsaaudio.c
/openbmc/qemu/audio/audio.c
/openbmc/qemu/audio/audio.h
/openbmc/qemu/audio/audio_int.h
/openbmc/qemu/audio/audio_template.h
/openbmc/qemu/audio/coreaudio.c
/openbmc/qemu/audio/dsound_template.h
/openbmc/qemu/audio/dsoundaudio.c
/openbmc/qemu/audio/noaudio.c
/openbmc/qemu/audio/ossaudio.c
/openbmc/qemu/audio/paaudio.c
/openbmc/qemu/audio/spiceaudio.c
/openbmc/qemu/audio/wavaudio.c
/openbmc/qemu/block.c
/openbmc/qemu/block/Makefile.objs
/openbmc/qemu/block/accounting.c
/openbmc/qemu/block/aio_task.c
/openbmc/qemu/block/backup-top.c
/openbmc/qemu/block/backup-top.h
/openbmc/qemu/block/backup.c
/openbmc/qemu/block/blkreplay.c
/openbmc/qemu/block/block-backend.c
/openbmc/qemu/block/block-copy.c
/openbmc/qemu/block/dirty-bitmap.c
/openbmc/qemu/block/file-posix.c
/openbmc/qemu/block/io.c
/openbmc/qemu/block/iscsi.c
/openbmc/qemu/block/mirror.c
/openbmc/qemu/block/nbd.c
/openbmc/qemu/block/nfs.c
/openbmc/qemu/block/null.c
/openbmc/qemu/block/nvme.c
/openbmc/qemu/block/qapi.c
/openbmc/qemu/block/qcow2-bitmap.c
/openbmc/qemu/block/qcow2-cluster.c
/openbmc/qemu/block/qcow2.c
/openbmc/qemu/block/qcow2.h
/openbmc/qemu/block/rbd.c
/openbmc/qemu/block/replication.c
/openbmc/qemu/block/snapshot.c
/openbmc/qemu/block/trace-events
/openbmc/qemu/block/vhdx.c
/openbmc/qemu/block/vxhs.c
/openbmc/qemu/blockdev.c
/openbmc/qemu/configure
/openbmc/qemu/cpus.c
/openbmc/qemu/crypto/block-luks.c
/openbmc/qemu/disas/cris.c
/openbmc/qemu/docs/devel/rcu.txt
/openbmc/qemu/docs/devel/tracing.txt
/openbmc/qemu/docs/replay.txt
/openbmc/qemu/docs/specs/acpi_hw_reduced_hotplug.rst
/openbmc/qemu/docs/specs/index.rst
/openbmc/qemu/exec.c
/openbmc/qemu/fsdev/9p-marshal.h
/openbmc/qemu/fsdev/file-op-9p.h
/openbmc/qemu/fsdev/qemu-fsdev-opts.c
/openbmc/qemu/fsdev/qemu-fsdev-throttle.c
/openbmc/qemu/fsdev/qemu-fsdev-throttle.h
/openbmc/qemu/fsdev/qemu-fsdev.c
/openbmc/qemu/hw/9pfs/9p-local.c
/openbmc/qemu/hw/9pfs/9p-proxy.c
/openbmc/qemu/hw/9pfs/9p.c
/openbmc/qemu/hw/9pfs/9p.h
/openbmc/qemu/hw/9pfs/trace-events
/openbmc/qemu/hw/acpi/Kconfig
/openbmc/qemu/hw/acpi/Makefile.objs
/openbmc/qemu/hw/acpi/generic_event_device.c
/openbmc/qemu/hw/acpi/memory_hotplug.c
/openbmc/qemu/hw/acpi/piix4.c
/openbmc/qemu/hw/arm/Kconfig
/openbmc/qemu/hw/arm/Makefile.objs
/openbmc/qemu/hw/arm/aspeed.c
/openbmc/qemu/hw/arm/aspeed_ast2600.c
/openbmc/qemu/hw/arm/aspeed_soc.c
/openbmc/qemu/hw/arm/bcm2835_peripherals.c
/openbmc/qemu/hw/arm/bcm2836.c
/openbmc/qemu/hw/arm/boot.c
/openbmc/qemu/hw/arm/musicpal.c
/openbmc/qemu/hw/arm/raspi.c
/openbmc/qemu/hw/arm/smmuv3.c
/openbmc/qemu/hw/arm/virt-acpi-build.c
/openbmc/qemu/hw/arm/virt.c
/openbmc/qemu/hw/block/m25p80.c
/openbmc/qemu/hw/block/virtio-blk.c
/openbmc/qemu/hw/char/bcm2835_aux.c
/openbmc/qemu/hw/char/spapr_vty.c
/openbmc/qemu/hw/core/loader.c
/openbmc/qemu/hw/core/numa.c
/openbmc/qemu/hw/core/ptimer.c
/openbmc/qemu/hw/display/bcm2835_fb.c
/openbmc/qemu/hw/dma/bcm2835_dma.c
/openbmc/qemu/hw/dma/xilinx_axidma.c
/openbmc/qemu/hw/gpio/aspeed_gpio.c
/openbmc/qemu/hw/hppa/dino.c
/openbmc/qemu/hw/hppa/machine.c
/openbmc/qemu/hw/i2c/aspeed_i2c.c
/openbmc/qemu/hw/i386/acpi-build.c
/openbmc/qemu/hw/i386/amd_iommu.c
/openbmc/qemu/hw/i386/intel_iommu.c
/openbmc/qemu/hw/i386/pc.c
/openbmc/qemu/hw/ide/cmd646.c
/openbmc/qemu/hw/ide/core.c
/openbmc/qemu/hw/ide/piix.c
/openbmc/qemu/hw/ide/sii3112.c
/openbmc/qemu/hw/ide/via.c
/openbmc/qemu/hw/input/lm832x.c
/openbmc/qemu/hw/intc/arm_gic_kvm.c
/openbmc/qemu/hw/intc/bcm2836_control.c
/openbmc/qemu/hw/intc/spapr_xive.c
/openbmc/qemu/hw/intc/spapr_xive_kvm.c
/openbmc/qemu/hw/intc/trace-events
/openbmc/qemu/hw/intc/xics.c
/openbmc/qemu/hw/intc/xics_kvm.c
/openbmc/qemu/hw/intc/xics_spapr.c
/openbmc/qemu/hw/intc/xive.c
/openbmc/qemu/hw/isa/Kconfig
/openbmc/qemu/hw/isa/Makefile.objs
/openbmc/qemu/hw/isa/piix4.c
/openbmc/qemu/hw/isa/vt82c686.c
/openbmc/qemu/hw/m68k/mcf5206.c
/openbmc/qemu/hw/m68k/mcf5208.c
/openbmc/qemu/hw/m68k/next-cube.c
/openbmc/qemu/hw/mem/memory-device.c
/openbmc/qemu/hw/microblaze/boot.c
/openbmc/qemu/hw/mips/Kconfig
/openbmc/qemu/hw/mips/mips_int.c
/openbmc/qemu/hw/mips/mips_jazz.c
/openbmc/qemu/hw/misc/aspeed_scu.c
/openbmc/qemu/hw/misc/aspeed_sdmc.c
/openbmc/qemu/hw/misc/bcm2835_mbox.c
/openbmc/qemu/hw/misc/bcm2835_property.c
/openbmc/qemu/hw/misc/trace-events
/openbmc/qemu/hw/misc/vmcoreinfo.c
/openbmc/qemu/hw/net/fsl_etsec/etsec.c
/openbmc/qemu/hw/net/ftgmac100.c
/openbmc/qemu/hw/net/lan9118.c
/openbmc/qemu/hw/net/spapr_llan.c
/openbmc/qemu/hw/ppc/Makefile.objs
/openbmc/qemu/hw/ppc/pnv.c
/openbmc/qemu/hw/ppc/pnv_bmc.c
/openbmc/qemu/hw/ppc/pnv_homer.c
/openbmc/qemu/hw/ppc/pnv_occ.c
/openbmc/qemu/hw/ppc/pnv_psi.c
/openbmc/qemu/hw/ppc/pnv_xscom.c
/openbmc/qemu/hw/ppc/spapr.c
/openbmc/qemu/hw/ppc/spapr_hcall.c
/openbmc/qemu/hw/ppc/spapr_iommu.c
/openbmc/qemu/hw/ppc/spapr_irq.c
/openbmc/qemu/hw/ppc/spapr_pci.c
/openbmc/qemu/hw/ppc/spapr_rtas.c
/openbmc/qemu/hw/ppc/spapr_tpm_proxy.c
/openbmc/qemu/hw/ppc/spapr_vio.c
/openbmc/qemu/hw/ppc/trace-events
/openbmc/qemu/hw/s390x/event-facility.c
/openbmc/qemu/hw/s390x/s390-pci-bus.c
/openbmc/qemu/hw/s390x/s390-pci-inst.c
/openbmc/qemu/hw/s390x/s390-virtio-ccw.c
/openbmc/qemu/hw/s390x/sclp.c
/openbmc/qemu/hw/scsi/scsi-disk.c
/openbmc/qemu/hw/sd/Makefile.objs
/openbmc/qemu/hw/sd/aspeed_sdhci.c
/openbmc/qemu/hw/ssi/aspeed_smc.c
/openbmc/qemu/hw/timer/allwinner-a10-pit.c
/openbmc/qemu/hw/timer/altera_timer.c
/openbmc/qemu/hw/timer/arm_mptimer.c
/openbmc/qemu/hw/timer/arm_timer.c
/openbmc/qemu/hw/timer/aspeed_timer.c
/openbmc/qemu/hw/timer/cmsdk-apb-dualtimer.c
/openbmc/qemu/hw/timer/cmsdk-apb-timer.c
/openbmc/qemu/hw/timer/digic-timer.c
/openbmc/qemu/hw/timer/etraxfs_timer.c
/openbmc/qemu/hw/timer/exynos4210_mct.c
/openbmc/qemu/hw/timer/exynos4210_pwm.c
/openbmc/qemu/hw/timer/exynos4210_rtc.c
/openbmc/qemu/hw/timer/grlib_gptimer.c
/openbmc/qemu/hw/timer/imx_epit.c
/openbmc/qemu/hw/timer/imx_gpt.c
/openbmc/qemu/hw/timer/lm32_timer.c
/openbmc/qemu/hw/timer/milkymist-sysctl.c
/openbmc/qemu/hw/timer/mss-timer.c
/openbmc/qemu/hw/timer/puv3_ost.c
/openbmc/qemu/hw/timer/sh_timer.c
/openbmc/qemu/hw/timer/slavio_timer.c
/openbmc/qemu/hw/timer/xilinx_timer.c
/openbmc/qemu/hw/usb/dev-audio.c
/openbmc/qemu/hw/vfio/common.c
/openbmc/qemu/hw/vfio/pci.c
/openbmc/qemu/hw/vfio/spapr.c
/openbmc/qemu/hw/virtio/Makefile.objs
/openbmc/qemu/hw/virtio/vhost-user-fs-pci.c
/openbmc/qemu/hw/virtio/vhost-user-fs.c
/openbmc/qemu/hw/virtio/vhost.c
/openbmc/qemu/hw/watchdog/cmsdk-apb-watchdog.c
/openbmc/qemu/hw/watchdog/wdt_aspeed.c
/openbmc/qemu/include/block/accounting.h
/openbmc/qemu/include/block/aio_task.h
/openbmc/qemu/include/block/block-copy.h
/openbmc/qemu/include/block/block.h
/openbmc/qemu/include/block/block_int.h
/openbmc/qemu/include/block/dirty-bitmap.h
/openbmc/qemu/include/exec/exec-all.h
/openbmc/qemu/include/exec/memory.h
/openbmc/qemu/include/exec/ram_addr.h
/openbmc/qemu/include/hw/acpi/acpi_dev_interface.h
/openbmc/qemu/include/hw/acpi/generic_event_device.h
/openbmc/qemu/include/hw/acpi/memory_hotplug.h
/openbmc/qemu/include/hw/arm/aspeed_soc.h
/openbmc/qemu/include/hw/arm/bcm2835_peripherals.h
/openbmc/qemu/include/hw/arm/raspi_platform.h
/openbmc/qemu/include/hw/arm/virt.h
/openbmc/qemu/include/hw/boards.h
/openbmc/qemu/include/hw/i2c/aspeed_i2c.h
/openbmc/qemu/include/hw/i386/pc.h
/openbmc/qemu/include/hw/misc/aspeed_scu.h
/openbmc/qemu/include/hw/misc/aspeed_sdmc.h
/openbmc/qemu/include/hw/net/ftgmac100.h
/openbmc/qemu/include/hw/pci-host/spapr.h
/openbmc/qemu/include/hw/ppc/pnv.h
/openbmc/qemu/include/hw/ppc/pnv_homer.h
/openbmc/qemu/include/hw/ppc/pnv_occ.h
/openbmc/qemu/include/hw/ppc/spapr.h
/openbmc/qemu/include/hw/ppc/spapr_irq.h
/openbmc/qemu/include/hw/ppc/spapr_vio.h
/openbmc/qemu/include/hw/ppc/spapr_xive.h
/openbmc/qemu/include/hw/ppc/xics.h
/openbmc/qemu/include/hw/ppc/xics_spapr.h
/openbmc/qemu/include/hw/ppc/xive.h
/openbmc/qemu/include/hw/ptimer.h
/openbmc/qemu/include/hw/sd/aspeed_sdhci.h
/openbmc/qemu/include/hw/ssi/aspeed_smc.h
/openbmc/qemu/include/hw/timer/aspeed_timer.h
/openbmc/qemu/include/hw/timer/mss-timer.h
/openbmc/qemu/include/hw/vfio/vfio-common.h
/openbmc/qemu/include/hw/virtio/vhost-user-fs.h
/openbmc/qemu/include/hw/watchdog/wdt_aspeed.h
/openbmc/qemu/include/migration/misc.h
/openbmc/qemu/include/migration/vmstate.h
/openbmc/qemu/include/qemu/hbitmap.h
/openbmc/qemu/include/qemu/rcu.h
/openbmc/qemu/include/qom/object_interfaces.h
/openbmc/qemu/include/standard-headers/asm-x86/bootparam.h
/openbmc/qemu/include/standard-headers/asm-x86/kvm_para.h
/openbmc/qemu/include/standard-headers/linux/ethtool.h
/openbmc/qemu/include/standard-headers/linux/pci_regs.h
/openbmc/qemu/include/standard-headers/linux/virtio_fs.h
/openbmc/qemu/include/standard-headers/linux/virtio_ids.h
/openbmc/qemu/include/standard-headers/linux/virtio_iommu.h
/openbmc/qemu/include/standard-headers/linux/virtio_pmem.h
/openbmc/qemu/include/sysemu/kvm.h
/openbmc/qemu/include/sysemu/kvm_int.h
/openbmc/qemu/include/sysemu/replay.h
/openbmc/qemu/linux-headers/asm-arm/kvm.h
/openbmc/qemu/linux-headers/asm-arm/unistd-common.h
/openbmc/qemu/linux-headers/asm-arm64/kvm.h
/openbmc/qemu/linux-headers/asm-generic/mman-common.h
/openbmc/qemu/linux-headers/asm-generic/mman.h
/openbmc/qemu/linux-headers/asm-generic/unistd.h
/openbmc/qemu/linux-headers/asm-mips/mman.h
/openbmc/qemu/linux-headers/asm-mips/unistd_n32.h
/openbmc/qemu/linux-headers/asm-mips/unistd_n64.h
/openbmc/qemu/linux-headers/asm-mips/unistd_o32.h
/openbmc/qemu/linux-headers/asm-powerpc/mman.h
/openbmc/qemu/linux-headers/asm-powerpc/unistd_32.h
/openbmc/qemu/linux-headers/asm-powerpc/unistd_64.h
/openbmc/qemu/linux-headers/asm-s390/kvm.h
/openbmc/qemu/linux-headers/asm-s390/unistd_32.h
/openbmc/qemu/linux-headers/asm-s390/unistd_64.h
/openbmc/qemu/linux-headers/asm-x86/kvm.h
/openbmc/qemu/linux-headers/asm-x86/unistd.h
/openbmc/qemu/linux-headers/asm-x86/unistd_32.h
/openbmc/qemu/linux-headers/asm-x86/unistd_64.h
/openbmc/qemu/linux-headers/asm-x86/unistd_x32.h
/openbmc/qemu/linux-headers/linux/kvm.h
/openbmc/qemu/linux-headers/linux/psp-sev.h
/openbmc/qemu/linux-headers/linux/vfio.h
/openbmc/qemu/linux-user/arm/cpu_loop.c
/openbmc/qemu/linux-user/arm/target_syscall.h
/openbmc/qemu/memory.c
/openbmc/qemu/migration/block-dirty-bitmap.c
/openbmc/qemu/migration/block.c
/openbmc/qemu/migration/migration.c
/openbmc/qemu/migration/postcopy-ram.c
/openbmc/qemu/migration/postcopy-ram.h
/openbmc/qemu/migration/ram.c
/openbmc/qemu/migration/rdma.c
/openbmc/qemu/migration/savevm.c
/openbmc/qemu/migration/trace-events
/openbmc/qemu/migration/vmstate-types.c
/openbmc/qemu/net/slirp.c
/openbmc/qemu/net/vhost-user.c
/openbmc/qemu/pc-bios/README
/openbmc/qemu/pc-bios/openbios-ppc
/openbmc/qemu/pc-bios/openbios-sparc32
/openbmc/qemu/pc-bios/openbios-sparc64
/openbmc/qemu/pc-bios/slof.bin
/openbmc/qemu/qapi/audio.json
/openbmc/qemu/qapi/block-core.json
/openbmc/qemu/qemu-deprecated.texi
/openbmc/qemu/qemu-img.c
/openbmc/qemu/qemu-io.c
/openbmc/qemu/qemu-nbd.c
/openbmc/qemu/qemu-options.hx
/openbmc/qemu/qom/object_interfaces.c
/openbmc/qemu/replay/replay-events.c
/openbmc/qemu/replay/replay-internal.h
/openbmc/qemu/replay/replay.c
/openbmc/qemu/roms/Makefile
/openbmc/qemu/roms/Makefile.edk2
/openbmc/qemu/roms/SLOF
/openbmc/qemu/roms/edk2-build.sh
/openbmc/qemu/roms/edk2-funcs.sh
/openbmc/qemu/roms/openbios
/openbmc/qemu/scripts/kvm/vmxcap
/openbmc/qemu/scripts/make-release
doc.py
/openbmc/qemu/scripts/tracetool/__init__.py
/openbmc/qemu/scsi/qemu-pr-helper.c
/openbmc/qemu/stubs/Makefile.objs
/openbmc/qemu/stubs/replay-user.c
/openbmc/qemu/target/arm/arm-semi.c
/openbmc/qemu/target/arm/cpu.c
/openbmc/qemu/target/arm/helper.c
/openbmc/qemu/target/arm/kvm.c
/openbmc/qemu/target/arm/kvm_arm.h
/openbmc/qemu/target/arm/m_helper.c
/openbmc/qemu/target/arm/translate.c
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/cpu.h
/openbmc/qemu/target/i386/helper.c
/openbmc/qemu/target/i386/hvf/x86_cpuid.c
/openbmc/qemu/target/i386/kvm.c
/openbmc/qemu/target/mips/helper.h
/openbmc/qemu/target/mips/internal.h
/openbmc/qemu/target/mips/kvm_mips.h
/openbmc/qemu/target/mips/mips-defs.h
/openbmc/qemu/target/mips/msa_helper.c
/openbmc/qemu/target/mips/translate.c
/openbmc/qemu/target/ppc/cpu.h
/openbmc/qemu/target/ppc/dfp_helper.c
/openbmc/qemu/target/ppc/fpu_helper.c
/openbmc/qemu/target/ppc/helper.h
/openbmc/qemu/target/ppc/int_helper.c
/openbmc/qemu/target/ppc/internal.h
/openbmc/qemu/target/ppc/kvm.c
/openbmc/qemu/target/ppc/translate/fp-impl.inc.c
/openbmc/qemu/target/ppc/translate/fp-ops.inc.c
/openbmc/qemu/target/ppc/translate_init.inc.c
/openbmc/qemu/target/s390x/cc_helper.c
/openbmc/qemu/target/s390x/cpu.h
/openbmc/qemu/target/s390x/crypto_helper.c
/openbmc/qemu/target/s390x/diag.c
/openbmc/qemu/target/s390x/excp_helper.c
/openbmc/qemu/target/s390x/fpu_helper.c
/openbmc/qemu/target/s390x/gen-features.c
/openbmc/qemu/target/s390x/helper.c
/openbmc/qemu/target/s390x/int_helper.c
/openbmc/qemu/target/s390x/internal.h
/openbmc/qemu/target/s390x/interrupt.c
/openbmc/qemu/target/s390x/ioinst.c
/openbmc/qemu/target/s390x/kvm.c
/openbmc/qemu/target/s390x/mem_helper.c
/openbmc/qemu/target/s390x/misc_helper.c
/openbmc/qemu/target/s390x/mmu_helper.c
/openbmc/qemu/target/s390x/tcg-stub.c
/openbmc/qemu/target/s390x/tcg_s390x.h
/openbmc/qemu/target/s390x/translate.c
/openbmc/qemu/tcg/ppc/tcg-target.h
/openbmc/qemu/tcg/ppc/tcg-target.inc.c
/openbmc/qemu/tcg/ppc/tcg-target.opc.h
/openbmc/qemu/tests/Makefile.include
/openbmc/qemu/tests/bios-tables-test.c
/openbmc/qemu/tests/cdrom-test.c
/openbmc/qemu/tests/cpu-plug-test.c
/openbmc/qemu/tests/data/acpi/virt/APIC.memhp
/openbmc/qemu/tests/data/acpi/virt/APIC.numamem
/openbmc/qemu/tests/data/acpi/virt/DSDT
/openbmc/qemu/tests/data/acpi/virt/DSDT.memhp
/openbmc/qemu/tests/data/acpi/virt/DSDT.numamem
/openbmc/qemu/tests/data/acpi/virt/FACP.memhp
/openbmc/qemu/tests/data/acpi/virt/FACP.numamem
/openbmc/qemu/tests/data/acpi/virt/GTDT.memhp
/openbmc/qemu/tests/data/acpi/virt/GTDT.numamem
/openbmc/qemu/tests/data/acpi/virt/MCFG.memhp
/openbmc/qemu/tests/data/acpi/virt/MCFG.numamem
/openbmc/qemu/tests/data/acpi/virt/SLIT.memhp
/openbmc/qemu/tests/data/acpi/virt/SPCR.memhp
/openbmc/qemu/tests/data/acpi/virt/SPCR.numamem
/openbmc/qemu/tests/data/acpi/virt/SRAT.memhp
/openbmc/qemu/tests/data/acpi/virt/SRAT.numamem
/openbmc/qemu/tests/docker/test-clang
/openbmc/qemu/tests/docker/test-debug
/openbmc/qemu/tests/iothread.c
/openbmc/qemu/tests/libqtest.c
/openbmc/qemu/tests/libqtest.h
/openbmc/qemu/tests/migration-test.c
/openbmc/qemu/tests/ptimer-test.c
/openbmc/qemu/tests/qemu-iotests/026
/openbmc/qemu/tests/qemu-iotests/026.out
/openbmc/qemu/tests/qemu-iotests/026.out.nocache
/openbmc/qemu/tests/qemu-iotests/028
/openbmc/qemu/tests/qemu-iotests/028.out
/openbmc/qemu/tests/qemu-iotests/044
/openbmc/qemu/tests/qemu-iotests/056
/openbmc/qemu/tests/qemu-iotests/124
/openbmc/qemu/tests/qemu-iotests/125
/openbmc/qemu/tests/qemu-iotests/141.out
/openbmc/qemu/tests/qemu-iotests/149
/openbmc/qemu/tests/qemu-iotests/149.out
/openbmc/qemu/tests/qemu-iotests/162
/openbmc/qemu/tests/qemu-iotests/162.out
/openbmc/qemu/tests/qemu-iotests/163
/openbmc/qemu/tests/qemu-iotests/165
/openbmc/qemu/tests/qemu-iotests/165.out
/openbmc/qemu/tests/qemu-iotests/227.out
/openbmc/qemu/tests/qemu-iotests/257
/openbmc/qemu/tests/qemu-iotests/257.out
/openbmc/qemu/tests/qemu-iotests/260
/openbmc/qemu/tests/qemu-iotests/260.out
/openbmc/qemu/tests/qemu-iotests/262
/openbmc/qemu/tests/qemu-iotests/262.out
/openbmc/qemu/tests/qemu-iotests/267
/openbmc/qemu/tests/qemu-iotests/267.out
/openbmc/qemu/tests/qemu-iotests/268
/openbmc/qemu/tests/qemu-iotests/268.out
/openbmc/qemu/tests/qemu-iotests/270
/openbmc/qemu/tests/qemu-iotests/270.out
/openbmc/qemu/tests/qemu-iotests/check
/openbmc/qemu/tests/qemu-iotests/common.filter
/openbmc/qemu/tests/qemu-iotests/common.rc
/openbmc/qemu/tests/qemu-iotests/group
/openbmc/qemu/tests/qemu-iotests/iotests.py
/openbmc/qemu/tests/tcg/aarch64/Makefile.target
/openbmc/qemu/tests/tcg/arm/Makefile.target
/openbmc/qemu/tests/tcg/arm/semihosting.c
/openbmc/qemu/tests/test-char.c
/openbmc/qemu/tests/test-hbitmap.c
/openbmc/qemu/tests/test-vmstate.c
/openbmc/qemu/tests/uefi-test-tools/Makefile
/openbmc/qemu/tests/uefi-test-tools/build.sh
/openbmc/qemu/tests/usb-hcd-ehci-test.c
/openbmc/qemu/ui/cocoa.m
/openbmc/qemu/ui/curses.c
/openbmc/qemu/ui/input-barrier.c
/openbmc/qemu/util/async.c
/openbmc/qemu/util/hbitmap.c
/openbmc/qemu/util/iov.c
/openbmc/qemu/util/oslib-win32.c
/openbmc/qemu/vl.c
c615550d27-Sep-2019 Markus Armbruster <armbru@redhat.com>

qapi: Improve source file read error handling

qapi-gen.py crashes when it can't open the main schema file, and when
it can't read from any schema file. Lazy.

Change QAPISchema.__init__() to take a

qapi: Improve source file read error handling

qapi-gen.py crashes when it can't open the main schema file, and when
it can't read from any schema file. Lazy.

Change QAPISchema.__init__() to take a file name instead of a file
object. Move the open code from _include() to __init__(), so it's
used for the main schema file, too.

Move the read into the try for good measure, and rephrase the error
message.

Reporting open or read failure for the main schema file needs a
QAPISourceInfo representing "no source". Make QAPISourceInfo cope
with fname=None.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20190927134639.4284-27-armbru@redhat.com>

show more ...

56d2df5e27-Sep-2019 Markus Armbruster <armbru@redhat.com>

qapi: Improve reporting of redefinition

Point to the previous definition, unless it's a built-in.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Me

qapi: Improve reporting of redefinition

Point to the previous definition, unless it's a built-in.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20190927134639.4284-26-armbru@redhat.com>

show more ...

f633269827-Sep-2019 Markus Armbruster <armbru@redhat.com>

qapi: Improve reporting of missing documentation comment

Have check_exprs() check this later, so the error message gains an "in
definition line". Tweak the error message.

Signed-off-by: Markus Arm

qapi: Improve reporting of missing documentation comment

Have check_exprs() check this later, so the error message gains an "in
definition line". Tweak the error message.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20190927134639.4284-25-armbru@redhat.com>

show more ...

13b3997f27-Sep-2019 Markus Armbruster <armbru@redhat.com>

qapi: Eliminate check_keys(), rename check_known_keys()

check_keys() has become a trivial wrapper for check_known_keys().
Eliminate it.

This makes its name available. Rename check_known_keys().

S

qapi: Eliminate check_keys(), rename check_known_keys()

check_keys() has become a trivial wrapper for check_known_keys().
Eliminate it.

This makes its name available. Rename check_known_keys().

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20190927134639.4284-24-armbru@redhat.com>

show more ...

fab1237627-Sep-2019 Markus Armbruster <armbru@redhat.com>

qapi: Improve reporting of invalid 'if' further

check_if()'s errors don't point to the offending part of the
expression. For instance:

tests/qapi-schema/alternate-branch-if-invalid.json:2: 'if

qapi: Improve reporting of invalid 'if' further

check_if()'s errors don't point to the offending part of the
expression. For instance:

tests/qapi-schema/alternate-branch-if-invalid.json:2: 'if' condition ' ' makes no sense

Other check_FOO() do, with the help of a @source argument. Make
check_if() do that, too. The example above improves to:

tests/qapi-schema/alternate-branch-if-invalid.json:2: 'if' condition ' ' of 'data' member 'branch' makes no sense

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20190927134639.4284-23-armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>

show more ...

eeb57c8527-Sep-2019 Markus Armbruster <armbru@redhat.com>

qapi: Avoid redundant definition references in error messages

Many error messages refer to the offending definition even though
they're preceded by an "in definition" line. Rephrase them.

Signed-o

qapi: Avoid redundant definition references in error messages

Many error messages refer to the offending definition even though
they're preceded by an "in definition" line. Rephrase them.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20190927134639.4284-22-armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>

show more ...


common.py
/openbmc/qemu/tests/qapi-schema/alternate-array.err
/openbmc/qemu/tests/qapi-schema/alternate-base.err
/openbmc/qemu/tests/qapi-schema/alternate-empty.err
/openbmc/qemu/tests/qapi-schema/alternate-invalid-dict.err
/openbmc/qemu/tests/qapi-schema/args-array-empty.err
/openbmc/qemu/tests/qapi-schema/args-boxed-anon.err
/openbmc/qemu/tests/qapi-schema/args-invalid.err
/openbmc/qemu/tests/qapi-schema/args-member-array-bad.err
/openbmc/qemu/tests/qapi-schema/args-member-case.err
/openbmc/qemu/tests/qapi-schema/bad-data.err
/openbmc/qemu/tests/qapi-schema/bad-ident.err
/openbmc/qemu/tests/qapi-schema/doc-bad-symbol.err
/openbmc/qemu/tests/qapi-schema/double-type.err
/openbmc/qemu/tests/qapi-schema/enum-bad-member.err
/openbmc/qemu/tests/qapi-schema/enum-bad-name.err
/openbmc/qemu/tests/qapi-schema/enum-bad-prefix.err
/openbmc/qemu/tests/qapi-schema/enum-dict-member-unknown.err
/openbmc/qemu/tests/qapi-schema/enum-member-case.err
/openbmc/qemu/tests/qapi-schema/enum-missing-data.err
/openbmc/qemu/tests/qapi-schema/enum-wrong-data.err
/openbmc/qemu/tests/qapi-schema/event-member-invalid-dict.err
/openbmc/qemu/tests/qapi-schema/event-nest-struct.err
/openbmc/qemu/tests/qapi-schema/features-bad-type.err
/openbmc/qemu/tests/qapi-schema/features-missing-name.err
/openbmc/qemu/tests/qapi-schema/features-name-bad-type.err
/openbmc/qemu/tests/qapi-schema/features-no-list.err
/openbmc/qemu/tests/qapi-schema/features-unknown-key.err
/openbmc/qemu/tests/qapi-schema/flat-union-array-branch.err
/openbmc/qemu/tests/qapi-schema/flat-union-bad-discriminator.err
/openbmc/qemu/tests/qapi-schema/flat-union-inline-invalid-dict.err
/openbmc/qemu/tests/qapi-schema/flat-union-inline.err
/openbmc/qemu/tests/qapi-schema/flat-union-no-base.err
/openbmc/qemu/tests/qapi-schema/nested-struct-data-invalid-dict.err
/openbmc/qemu/tests/qapi-schema/nested-struct-data.err
/openbmc/qemu/tests/qapi-schema/reserved-command-q.err
/openbmc/qemu/tests/qapi-schema/reserved-enum-q.err
/openbmc/qemu/tests/qapi-schema/reserved-member-has.err
/openbmc/qemu/tests/qapi-schema/reserved-member-q.err
/openbmc/qemu/tests/qapi-schema/reserved-member-u.err
/openbmc/qemu/tests/qapi-schema/reserved-member-underscore.err
/openbmc/qemu/tests/qapi-schema/reserved-type-kind.err
/openbmc/qemu/tests/qapi-schema/reserved-type-list.err
/openbmc/qemu/tests/qapi-schema/returns-array-bad.err
/openbmc/qemu/tests/qapi-schema/returns-dict.err
/openbmc/qemu/tests/qapi-schema/struct-data-invalid.err
/openbmc/qemu/tests/qapi-schema/struct-member-invalid-dict.err
/openbmc/qemu/tests/qapi-schema/struct-member-invalid.err
/openbmc/qemu/tests/qapi-schema/union-base-no-discriminator.err
/openbmc/qemu/tests/qapi-schema/union-branch-case.err
/openbmc/qemu/tests/qapi-schema/union-branch-invalid-dict.err
/openbmc/qemu/tests/qapi-schema/union-optional-branch.err
/openbmc/qemu/tests/qapi-schema/unknown-expr-key.err
3f58cc2927-Sep-2019 Markus Armbruster <armbru@redhat.com>

qapi: Improve reporting of missing / unknown definition keys

Have check_exprs() call check_keys() later, so its error messages gain
an "in definition" line.

Both check_keys() and check_name_is_str(

qapi: Improve reporting of missing / unknown definition keys

Have check_exprs() call check_keys() later, so its error messages gain
an "in definition" line.

Both check_keys() and check_name_is_str() check the definition's name
is a string. Since check_keys() now runs after check_name_is_str()
rather than before, its check is dead. Bury it. Checking values in
check_keys() is unclean anyway.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20190927134639.4284-21-armbru@redhat.com>

show more ...

a6735a5727-Sep-2019 Markus Armbruster <armbru@redhat.com>

qapi: Improve reporting of invalid flags

Split check_flags() off check_keys() and have check_exprs() call it
later, so its error messages gain an "in definition" line. Tweak the
error messages.

Ch

qapi: Improve reporting of invalid flags

Split check_flags() off check_keys() and have check_exprs() call it
later, so its error messages gain an "in definition" line. Tweak the
error messages.

Checking values in a function named check_keys() is unclean anyway.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20190927134639.4284-20-armbru@redhat.com>

show more ...

576f0b8a27-Sep-2019 Markus Armbruster <armbru@redhat.com>

qapi: Improve reporting of invalid 'if' errors

Move check_if() from check_keys() to check_exprs() and call it later,
so its error messages gain an "in definition" line.

Checking values in a functio

qapi: Improve reporting of invalid 'if' errors

Move check_if() from check_keys() to check_exprs() and call it later,
so its error messages gain an "in definition" line.

Checking values in a function named check_keys() is unclean anyway.
The original sin was commit 0545f6b887 "qapi: Better error messages
for bad expressions", which checks the value of key 'name'. More
sinning in commit 2cbf09925a "qapi: More rigorous checking for type
safety bypass", commit c818408e44 "qapi: Implement boxed types for
commands/events", and commit 967c885108 "qapi: add 'if' to top-level
expressions". This commit does penance for the latter. The next
commits will do penance for the others.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20190927134639.4284-19-armbru@redhat.com>

show more ...

4ebda5ab27-Sep-2019 Markus Armbruster <armbru@redhat.com>

qapi: Move context-free checking to the proper place

QAPISchemaCommand.check() and QAPISchemaEvent().check() check 'data'
is present when 'boxed': true. That's context-free. Move to
check_command(

qapi: Move context-free checking to the proper place

QAPISchemaCommand.check() and QAPISchemaEvent().check() check 'data'
is present when 'boxed': true. That's context-free. Move to
check_command() and check_event().

Tweak the error message while there.

check_exprs() & friends now check exactly what qapi-code-gen.txt calls
the second layer of syntax.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20190927134639.4284-18-armbru@redhat.com>

show more ...

fa110c6a27-Sep-2019 Markus Armbruster <armbru@redhat.com>

qapi: Move context-sensitive checking to the proper place

When we introduced the QAPISchema intermediate representation (commit
ac88219a6c7), we took a shortcut: we left check_exprs() & friends
alon

qapi: Move context-sensitive checking to the proper place

When we introduced the QAPISchema intermediate representation (commit
ac88219a6c7), we took a shortcut: we left check_exprs() & friends
alone instead of moving semantic checks into the
QAPISchemaFOO.check(). The .check() assert check_exprs() did its job.

Time to finish the conversion job. Move exactly the context-sensitive
checks to the .check(). They replace assertions there. Context-free
checks stay put.

Fixes the misleading optional tag error demonstrated by test
flat-union-optional-discriminator.

A few other error message improve.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20190927134639.4284-17-armbru@redhat.com>

show more ...


common.py
/openbmc/qemu/tests/qapi-schema/alternate-any.err
/openbmc/qemu/tests/qapi-schema/alternate-conflict-bool-string.err
/openbmc/qemu/tests/qapi-schema/alternate-conflict-dict.err
/openbmc/qemu/tests/qapi-schema/alternate-conflict-enum-bool.err
/openbmc/qemu/tests/qapi-schema/alternate-conflict-enum-int.err
/openbmc/qemu/tests/qapi-schema/alternate-conflict-num-string.err
/openbmc/qemu/tests/qapi-schema/alternate-conflict-string.err
/openbmc/qemu/tests/qapi-schema/alternate-nested.err
/openbmc/qemu/tests/qapi-schema/alternate-unknown.err
/openbmc/qemu/tests/qapi-schema/args-alternate.err
/openbmc/qemu/tests/qapi-schema/args-any.err
/openbmc/qemu/tests/qapi-schema/args-array-unknown.err
/openbmc/qemu/tests/qapi-schema/args-boxed-string.err
/openbmc/qemu/tests/qapi-schema/args-int.err
/openbmc/qemu/tests/qapi-schema/args-member-unknown.err
/openbmc/qemu/tests/qapi-schema/args-union.err
/openbmc/qemu/tests/qapi-schema/args-unknown.err
/openbmc/qemu/tests/qapi-schema/bad-base.err
/openbmc/qemu/tests/qapi-schema/command-int.err
/openbmc/qemu/tests/qapi-schema/flat-union-base-any.err
/openbmc/qemu/tests/qapi-schema/flat-union-base-union.err
/openbmc/qemu/tests/qapi-schema/flat-union-discriminator-bad-name.err
/openbmc/qemu/tests/qapi-schema/flat-union-discriminator-bad-name.json
/openbmc/qemu/tests/qapi-schema/flat-union-empty.err
/openbmc/qemu/tests/qapi-schema/flat-union-int-branch.err
/openbmc/qemu/tests/qapi-schema/flat-union-invalid-branch-key.err
/openbmc/qemu/tests/qapi-schema/flat-union-invalid-if-discriminator.err
/openbmc/qemu/tests/qapi-schema/flat-union-optional-discriminator.err
/openbmc/qemu/tests/qapi-schema/flat-union-optional-discriminator.json
/openbmc/qemu/tests/qapi-schema/flat-union-string-discriminator.err
/openbmc/qemu/tests/qapi-schema/redefined-builtin.err
/openbmc/qemu/tests/qapi-schema/redefined-type.err
/openbmc/qemu/tests/qapi-schema/returns-alternate.err
/openbmc/qemu/tests/qapi-schema/returns-unknown.err
/openbmc/qemu/tests/qapi-schema/returns-whitelist.err
/openbmc/qemu/tests/qapi-schema/union-empty.err
/openbmc/qemu/tests/qapi-schema/union-invalid-base.err
/openbmc/qemu/tests/qapi-schema/union-unknown.err
/openbmc/qemu/tests/qapi-schema/union-unknown.json
77daece327-Sep-2019 Markus Armbruster <armbru@redhat.com>

qapi: Inline check_name() into check_union()

check_name() consists of check_name_is_str() and check_name_str().
check_union() relies on the latter to catch optional discriminators.
The next commit w

qapi: Inline check_name() into check_union()

check_name() consists of check_name_is_str() and check_name_str().
check_union() relies on the latter to catch optional discriminators.
The next commit will replace that by a more straightforward check.
Inlining check_name() into check_union() now should make that easier
to review.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20190927134639.4284-16-armbru@redhat.com>

show more ...

e6f9678d27-Sep-2019 Markus Armbruster <armbru@redhat.com>

qapi: Plumb info to the QAPISchemaMember

Future commits will need info in the .check() methods of
QAPISchemaMember and its descendants. Get it there.

Signed-off-by: Markus Armbruster <armbru@redha

qapi: Plumb info to the QAPISchemaMember

Future commits will need info in the .check() methods of
QAPISchemaMember and its descendants. Get it there.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20190927134639.4284-15-armbru@redhat.com>

show more ...

8811248827-Sep-2019 Markus Armbruster <armbru@redhat.com>

qapi: Make check_type()'s array case a bit more obvious

check_type() checks the array's contents, then peels off the array and
falls through to the "not array" code without resetting allow_array
and

qapi: Make check_type()'s array case a bit more obvious

check_type() checks the array's contents, then peels off the array and
falls through to the "not array" code without resetting allow_array
and allow_dict to False. Works because the peeled value is a string,
and allow_array and allow_dict aren't used then. Tidy up anyway:
recurse instead, defaulting allow_array and allow_dict to False.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20190927134639.4284-14-armbru@redhat.com>

show more ...

67fa64ce27-Sep-2019 Markus Armbruster <armbru@redhat.com>

qapi: Move check for reserved names out of add_name()

The checks for reserved names are spread far and wide. Move one from
add_name() to new check_defn_name_str(). This is a first step towards
col

qapi: Move check for reserved names out of add_name()

The checks for reserved names are spread far and wide. Move one from
add_name() to new check_defn_name_str(). This is a first step towards
collecting them all in dedicated name checking functions next to
check_name().

While there, drop the quotes around the meta-type in
check_name_str()'s error messages: "'command' uses ... name 'NAME'"
becomes "command uses ... name 'NAME'".

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20190927134639.4284-13-armbru@redhat.com>

show more ...

64e04f7127-Sep-2019 Markus Armbruster <armbru@redhat.com>

qapi: Report invalid '*' prefix like any other invalid name

The special "does not allow optional name" error is well meant, but
confusing in practice. Drop it.

Signed-off-by: Markus Armbruster <ar

qapi: Report invalid '*' prefix like any other invalid name

The special "does not allow optional name" error is well meant, but
confusing in practice. Drop it.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20190927134639.4284-12-armbru@redhat.com>

show more ...

6ba1ba7f27-Sep-2019 Markus Armbruster <armbru@redhat.com>

qapi: Use check_name_str() where it suffices

Replace check_name() by check_name_str() where the name is known to be
a string.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric

qapi: Use check_name_str() where it suffices

Replace check_name() by check_name_str() where the name is known to be
a string.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20190927134639.4284-11-armbru@redhat.com>

show more ...

d7bc17c627-Sep-2019 Markus Armbruster <armbru@redhat.com>

qapi: Improve reporting of invalid name errors

Split check_name() into check_name_is_str() and check_name_str(), keep
check_name() as a wrapper.

Move add_name()'s call into its caller check_exprs()

qapi: Improve reporting of invalid name errors

Split check_name() into check_name_is_str() and check_name_str(), keep
check_name() as a wrapper.

Move add_name()'s call into its caller check_exprs(), and inline.

This permits delaying check_name_str() there, so its error message
gains an "in definition" line.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20190927134639.4284-10-armbru@redhat.com>

show more ...

c9efc98427-Sep-2019 Markus Armbruster <armbru@redhat.com>

qapi: Reorder check_FOO() parameters for consistency

Most check_FOO() take the thing being checked as first argument.
check_name(), check_type(), check_known_keys() don't. Clean that up.

While the

qapi: Reorder check_FOO() parameters for consistency

Most check_FOO() take the thing being checked as first argument.
check_name(), check_type(), check_known_keys() don't. Clean that up.

While there, drop a "Todo" comment that should have been dropped in
commit 87adbbffd4 "qapi: add a dictionary form for TYPE".

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20190927134639.4284-9-armbru@redhat.com>

show more ...

1...<<1112131415161718192021