History log of /openbmc/qemu/scripts/qapi/ (Results 201 – 225 of 510)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
c256263f19-May-2021 John Snow <jsnow@redhat.com>

qapi/parser: Fix token membership tests when token can be None

When the token can be None (EOF), we can't use 'x in "abc"' style
membership tests to group types of tokens together, because 'None in

qapi/parser: Fix token membership tests when token can be None

When the token can be None (EOF), we can't use 'x in "abc"' style
membership tests to group types of tokens together, because 'None in
"abc"' is a TypeError.

Easy enough to fix. (Use a tuple: It's neither a static typing error nor
a runtime error to check for None in Tuple[str, ...])

Add tests to prevent a regression. (Note: they cannot be added prior to
this fix, as the unhandled stack trace will not match test output in the
CI system.)

Signed-off-by: John Snow <jsnow@redhat.com>
Message-Id: <20210519183951.3946870-11-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>

show more ...

e0e8a0ac19-May-2021 John Snow <jsnow@redhat.com>

qapi: add must_match helper

Mypy cannot generally understand that these regex functions cannot
possibly fail. Add a "must_match" helper that makes this clear for
mypy.

Signed-off-by: John Snow <jsn

qapi: add must_match helper

Mypy cannot generally understand that these regex functions cannot
possibly fail. Add a "must_match" helper that makes this clear for
mypy.

Signed-off-by: John Snow <jsnow@redhat.com>
Message-Id: <20210519183951.3946870-10-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>

show more ...

43b1be6519-May-2021 John Snow <jsnow@redhat.com>

qapi/parser: Use @staticmethod where appropriate

No self, no thank you!

(Quiets pylint warnings.)

Signed-off-by: John Snow <jsnow@redhat.com>
Message-Id: <20210519183951.3946870-9-jsnow@redhat.com

qapi/parser: Use @staticmethod where appropriate

No self, no thank you!

(Quiets pylint warnings.)

Signed-off-by: John Snow <jsnow@redhat.com>
Message-Id: <20210519183951.3946870-9-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>

show more ...

234dce2c19-May-2021 John Snow <jsnow@redhat.com>

qapi/parser: assert object keys are strings

The single quote token implies the value is a string. Assert this to be
the case, to allow us to write an accurate return type for get_members.

Signed-of

qapi/parser: assert object keys are strings

The single quote token implies the value is a string. Assert this to be
the case, to allow us to write an accurate return type for get_members.

Signed-off-by: John Snow <jsnow@redhat.com>
Message-Id: <20210519183951.3946870-8-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>

show more ...

9cd0205d19-May-2021 John Snow <jsnow@redhat.com>

qapi/parser: enforce all top-level expressions must be dict in _parse()

Instead of using get_expr nested=False, allow get_expr to always return
any expression. In exchange, add a new error message t

qapi/parser: enforce all top-level expressions must be dict in _parse()

Instead of using get_expr nested=False, allow get_expr to always return
any expression. In exchange, add a new error message to the top-level
parser that explains the semantic error: Top-level expressions must
always be JSON objects.

This helps mypy understand the rest of this function which assumes that
get_expr did indeed return a dict.

The exception type changes from QAPIParseError to QAPISemError as a
result, and the error message in two tests now changes.

Signed-off-by: John Snow <jsnow@redhat.com>

Message-Id: <20210519183951.3946870-7-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>

show more ...

7c610ce619-May-2021 John Snow <jsnow@redhat.com>

qapi/parser: Assert lexer value is a string

The type checker can't narrow the type of the token value to string,
because it's only loosely correlated with the return token.

We know that a token of

qapi/parser: Assert lexer value is a string

The type checker can't narrow the type of the token value to string,
because it's only loosely correlated with the return token.

We know that a token of '#' should always have a "str" value.
Add an assertion.

Signed-off-by: John Snow <jsnow@redhat.com>
Message-Id: <20210519183951.3946870-6-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>

show more ...

16ff40ac19-May-2021 John Snow <jsnow@redhat.com>

qapi/parser: factor parsing routine into method

For the sake of keeping __init__ smaller (and treating it more like a
gallery of what state variables we can expect to see), put the actual
parsing ac

qapi/parser: factor parsing routine into method

For the sake of keeping __init__ smaller (and treating it more like a
gallery of what state variables we can expect to see), put the actual
parsing action into a parse method. It remains invoked from the init
method to reduce churn.

To accomplish this, @previously_included becomes the private data
member ._included, and the filename is stashed as ._fname.

Add any missing declarations to the init method, and group them by
function so they can be understood quickly at a glance.

Signed-off-by: John Snow <jsnow@redhat.com>
Message-Id: <20210519183951.3946870-5-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>

show more ...

b2b31fdf19-May-2021 John Snow <jsnow@redhat.com>

qapi/source: Remove line number from QAPISourceInfo initializer

With the QAPISourceInfo(None, None, None) construct gone, there's no
longer any reason to have to specify that a file starts on the fi

qapi/source: Remove line number from QAPISourceInfo initializer

With the QAPISourceInfo(None, None, None) construct gone, there's no
longer any reason to have to specify that a file starts on the first
line. Remove it from the initializer and default it to 1.

Remove the last vestiges where we check for 'line' being unset, that
can't happen, now.

Signed-off-by: John Snow <jsnow@redhat.com>
Message-Id: <20210519183951.3946870-4-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>

show more ...

3404e57419-May-2021 John Snow <jsnow@redhat.com>

qapi/parser: Don't try to handle file errors

Fixes: f5d4361cda
Fixes: 52a474180a
Fixes: 46f49468c6

Remove the try/except block that handles file-opening errors in
QAPISchemaParser.__init__() and ad

qapi/parser: Don't try to handle file errors

Fixes: f5d4361cda
Fixes: 52a474180a
Fixes: 46f49468c6

Remove the try/except block that handles file-opening errors in
QAPISchemaParser.__init__() and add one each to
QAPISchemaParser._include() and QAPISchema.__init__() respectively.

This simultaneously fixes the typing of info.fname (f5d4361cda), A
static typing violation in test-qapi (46f49468c6), and a regression of
an error message (52a474180a).

The short-ish version of what motivates this patch is:

- It's hard to write a good error message in the init method,
because we need to determine the context of our caller to do so.
It's easier to just let the caller write the message.
- We don't want to allow QAPISourceInfo(None, None, None) to exist. The
typing introduced by commit f5d4361cda types the 'fname' field as
(non-optional) str, which was premature until the removal of this
construct.
- Errors made using such an object are currently incorrect (since
52a474180a)
- It's not technically a semantic error if we cannot open the schema.
- There are various typing constraints that make mixing these two cases
undesirable for a single special case.
- test-qapi's code handling an fname of 'None' is now dead, drop it.
Additionally, Not all QAPIError objects have an 'info' field (since
46f49468), so deleting this stanza corrects a typing oversight in
test-qapi introduced by that commit.

Other considerations:

- open() is moved to a 'with' block to ensure file pointers are
cleaned up deterministically.
- Python 3.3 deprecated IOError and made it a synonym for OSError.
Avoid the misleading perception these exception handlers are
narrower than they really are.

The long version:

The error message here is incorrect (since commit 52a474180a):

> python3 qapi-gen.py 'fake.json'
qapi-gen.py: qapi-gen.py: can't read schema file 'fake.json': No such file or directory

In pursuing it, we find that QAPISourceInfo has a special accommodation
for when there's no filename. Meanwhile, the intent when QAPISourceInfo
was typed (f5d4361cda) was non-optional 'str'. This usage was
overlooked.

To remove this, I'd want to avoid having a "fake" QAPISourceInfo
object. I also don't want to explicitly begin accommodating
QAPISourceInfo itself being None, because we actually want to eventually
prove that this can never happen -- We don't want to confuse "The file
isn't open yet" with "This error stems from a definition that wasn't
defined in any file".

(An earlier series tried to create a dummy info object, but it was tough
to prove in review that it worked correctly without creating new
regressions. This patch avoids that distraction. We would like to first
prove that we never raise QAPISemError for any built-in object before we
add "special" info objects. We aren't ready to do that yet.)

So, which way out of the labyrinth?

Here's one way: Don't try to handle errors at a level with "mixed"
semantic contexts; i.e. don't mix inclusion errors (should report a
source line where the include was triggered) and command line errors
(where we specified a file we couldn't read).

Remove the error handling from the initializer of the parser. Pythonic!
Now it's the caller's job to figure out what to do about it. Handle the
error in QAPISchemaParser._include() instead, where we can write a
targeted error message where we are guaranteed to have an 'info' context
to report with.

The root level error can similarly move to QAPISchema.__init__(), where
we know we'll never have an info context to report with, so we use a
more abstract error type.

Now the error looks sensible again:

> python3 qapi-gen.py 'fake.json'
qapi-gen.py: can't read schema file 'fake.json': No such file or directory

With these error cases separated, QAPISourceInfo can be solidified as
never having placeholder arguments that violate our desired types. Clean
up test-qapi along similar lines.

Signed-off-by: John Snow <jsnow@redhat.com>
Message-Id: <20210519183951.3946870-2-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>

show more ...


/openbmc/qemu/.cirrus.yml
/openbmc/qemu/.gitlab-ci.d/containers.yml
/openbmc/qemu/.gitlab-ci.d/crossbuilds.yml
/openbmc/qemu/.gitlab-ci.yml
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/Makefile
/openbmc/qemu/accel/Kconfig
/openbmc/qemu/accel/accel-common.c
/openbmc/qemu/accel/kvm/kvm-all.c
/openbmc/qemu/accel/stubs/kvm-stub.c
/openbmc/qemu/accel/stubs/tcg-stub.c
/openbmc/qemu/accel/tcg/cpu-exec-common.c
/openbmc/qemu/accel/tcg/cpu-exec.c
/openbmc/qemu/accel/tcg/cputlb.c
/openbmc/qemu/accel/tcg/plugin-gen.c
/openbmc/qemu/accel/tcg/tcg-accel-ops-icount.c
/openbmc/qemu/accel/tcg/tcg-accel-ops-rr.c
/openbmc/qemu/accel/tcg/tcg-accel-ops.c
/openbmc/qemu/accel/tcg/tcg-runtime-gvec.c
/openbmc/qemu/accel/tcg/translate-all.c
/openbmc/qemu/accel/tcg/translator.c
/openbmc/qemu/accel/tcg/user-exec-stub.c
/openbmc/qemu/accel/tcg/user-exec.c
/openbmc/qemu/backends/hostmem-file.c
/openbmc/qemu/backends/hostmem-memfd.c
/openbmc/qemu/backends/hostmem.c
/openbmc/qemu/backends/tpm/tpm_emulator.c
/openbmc/qemu/block.c
/openbmc/qemu/block/backup-top.c
/openbmc/qemu/block/backup.c
/openbmc/qemu/block/block-backend.c
/openbmc/qemu/block/block-copy.c
/openbmc/qemu/block/commit.c
/openbmc/qemu/block/copy-on-read.c
/openbmc/qemu/block/export/vhost-user-blk-server.c
/openbmc/qemu/block/file-posix.c
/openbmc/qemu/block/io.c
/openbmc/qemu/block/meson.build
/openbmc/qemu/block/mirror.c
/openbmc/qemu/block/monitor/block-hmp-cmds.c
/openbmc/qemu/block/nfs.c
/openbmc/qemu/block/qcow2.c
/openbmc/qemu/block/rbd.c
/openbmc/qemu/block/trace-events
/openbmc/qemu/block/write-threshold.c
/openbmc/qemu/blockdev.c
/openbmc/qemu/blockjob.c
/openbmc/qemu/bsd-user/bsdload.c
/openbmc/qemu/bsd-user/main.c
/openbmc/qemu/bsd-user/qemu.h
/openbmc/qemu/bsd-user/syscall.c
/openbmc/qemu/chardev/char-mux.c
/openbmc/qemu/chardev/char.c
/openbmc/qemu/configure
/openbmc/qemu/contrib/vhost-user-input/main.c
/openbmc/qemu/cpu.c
/openbmc/qemu/default-configs/devices/ppc-softmmu.mak
/openbmc/qemu/default-configs/devices/riscv64-softmmu.mak
/openbmc/qemu/default-configs/targets/sparc64-linux-user.mak
/openbmc/qemu/disas.c
/openbmc/qemu/disas/arm-a64.cc
/openbmc/qemu/disas/meson.build
/openbmc/qemu/disas/nanomips.cpp
/openbmc/qemu/docs/conf.py
/openbmc/qemu/docs/devel/control-flow-integrity.rst
/openbmc/qemu/docs/devel/decodetree.rst
/openbmc/qemu/docs/devel/qgraph.rst
/openbmc/qemu/docs/meson.build
/openbmc/qemu/docs/sphinx-static/theme_overrides.css
/openbmc/qemu/docs/system/arm/aspeed.rst
/openbmc/qemu/docs/system/arm/mps2.rst
/openbmc/qemu/docs/system/arm/sbsa.rst
/openbmc/qemu/docs/system/deprecated.rst
/openbmc/qemu/docs/system/device-url-syntax.rst.inc
/openbmc/qemu/docs/system/generic-loader.rst
/openbmc/qemu/docs/system/ppc/ppce500.rst
/openbmc/qemu/docs/system/qemu-block-drivers.rst.inc
/openbmc/qemu/docs/system/removed-features.rst
/openbmc/qemu/docs/system/riscv/shakti-c.rst
/openbmc/qemu/docs/system/target-ppc.rst
/openbmc/qemu/docs/system/target-riscv.rst
/openbmc/qemu/docs/tools/qemu-img.rst
/openbmc/qemu/dump/dump.c
/openbmc/qemu/dump/win_dump.c
/openbmc/qemu/fpu/softfloat-parts-addsub.c.inc
/openbmc/qemu/fpu/softfloat-parts.c.inc
/openbmc/qemu/fpu/softfloat-specialize.c.inc
/openbmc/qemu/fpu/softfloat.c
/openbmc/qemu/gdbstub.c
/openbmc/qemu/hw/Kconfig
/openbmc/qemu/hw/acpi/aml-build.c
/openbmc/qemu/hw/acpi/cpu.c
/openbmc/qemu/hw/acpi/generic_event_device.c
/openbmc/qemu/hw/acpi/ich9.c
/openbmc/qemu/hw/acpi/memory_hotplug.c
/openbmc/qemu/hw/acpi/pcihp.c
/openbmc/qemu/hw/acpi/piix4.c
/openbmc/qemu/hw/alpha/dp264.c
/openbmc/qemu/hw/alpha/typhoon.c
/openbmc/qemu/hw/arm/Kconfig
/openbmc/qemu/hw/arm/allwinner-a10.c
/openbmc/qemu/hw/arm/allwinner-h3.c
/openbmc/qemu/hw/arm/armv7m.c
/openbmc/qemu/hw/arm/aspeed.c
/openbmc/qemu/hw/arm/aspeed_ast2600.c
/openbmc/qemu/hw/arm/aspeed_soc.c
/openbmc/qemu/hw/arm/bcm2836.c
/openbmc/qemu/hw/arm/boot.c
/openbmc/qemu/hw/arm/cubieboard.c
/openbmc/qemu/hw/arm/digic_boards.c
/openbmc/qemu/hw/arm/exynos4210.c
/openbmc/qemu/hw/arm/exynos4_boards.c
/openbmc/qemu/hw/arm/fsl-imx25.c
/openbmc/qemu/hw/arm/fsl-imx31.c
/openbmc/qemu/hw/arm/highbank.c
/openbmc/qemu/hw/arm/imx25_pdk.c
/openbmc/qemu/hw/arm/kzm.c
/openbmc/qemu/hw/arm/mcimx6ul-evk.c
/openbmc/qemu/hw/arm/mcimx7d-sabre.c
/openbmc/qemu/hw/arm/mps2-tz.c
/openbmc/qemu/hw/arm/msf2-soc.c
/openbmc/qemu/hw/arm/msf2-som.c
/openbmc/qemu/hw/arm/musicpal.c
/openbmc/qemu/hw/arm/npcm7xx.c
/openbmc/qemu/hw/arm/npcm7xx_boards.c
/openbmc/qemu/hw/arm/nrf51_soc.c
/openbmc/qemu/hw/arm/nseries.c
/openbmc/qemu/hw/arm/omap1.c
/openbmc/qemu/hw/arm/omap2.c
/openbmc/qemu/hw/arm/orangepi.c
/openbmc/qemu/hw/arm/palm.c
/openbmc/qemu/hw/arm/pxa2xx_pic.c
/openbmc/qemu/hw/arm/raspi.c
/openbmc/qemu/hw/arm/realview.c
/openbmc/qemu/hw/arm/sabrelite.c
/openbmc/qemu/hw/arm/sbsa-ref.c
/openbmc/qemu/hw/arm/smmu-common.c
/openbmc/qemu/hw/arm/smmuv3.c
/openbmc/qemu/hw/arm/spitz.c
/openbmc/qemu/hw/arm/stellaris.c
/openbmc/qemu/hw/arm/strongarm.c
/openbmc/qemu/hw/arm/versatilepb.c
/openbmc/qemu/hw/arm/vexpress.c
/openbmc/qemu/hw/arm/virt.c
/openbmc/qemu/hw/arm/xilinx_zynq.c
/openbmc/qemu/hw/arm/xlnx-versal-virt.c
/openbmc/qemu/hw/arm/xlnx-versal.c
/openbmc/qemu/hw/arm/xlnx-zcu102.c
/openbmc/qemu/hw/arm/xlnx-zynqmp.c
/openbmc/qemu/hw/arm/z2.c
/openbmc/qemu/hw/audio/meson.build
/openbmc/qemu/hw/audio/trace-events
/openbmc/qemu/hw/avr/arduino.c
/openbmc/qemu/hw/avr/atmega.c
/openbmc/qemu/hw/block/Kconfig
/openbmc/qemu/hw/block/dataplane/virtio-blk.c
/openbmc/qemu/hw/block/ecc.c
/openbmc/qemu/hw/block/m25p80.c
/openbmc/qemu/hw/block/meson.build
/openbmc/qemu/hw/block/pflash_cfi02.c
/openbmc/qemu/hw/block/trace-events
/openbmc/qemu/hw/block/vhost-user-blk.c
/openbmc/qemu/hw/block/virtio-blk.c
/openbmc/qemu/hw/block/xen-block.c
/openbmc/qemu/hw/char/mchp_pfsoc_mmuart.c
/openbmc/qemu/hw/char/meson.build
/openbmc/qemu/hw/char/riscv_htif.c
/openbmc/qemu/hw/char/shakti_uart.c
/openbmc/qemu/hw/char/sifive_uart.c
/openbmc/qemu/hw/char/spapr_vty.c
/openbmc/qemu/hw/char/trace-events
/openbmc/qemu/hw/char/virtio-serial-bus.c
/openbmc/qemu/hw/core/generic-loader.c
/openbmc/qemu/hw/core/guest-loader.c
/openbmc/qemu/hw/core/loader.c
/openbmc/qemu/hw/core/machine-qmp-cmds.c
/openbmc/qemu/hw/core/machine.c
/openbmc/qemu/hw/core/null-machine.c
/openbmc/qemu/hw/core/numa.c
/openbmc/qemu/hw/cris/axis_dev88.c
/openbmc/qemu/hw/display/Kconfig
/openbmc/qemu/hw/display/edid-generate.c
/openbmc/qemu/hw/display/meson.build
/openbmc/qemu/hw/display/next-fb.c
/openbmc/qemu/hw/display/qxl.c
/openbmc/qemu/hw/display/trace-events
/openbmc/qemu/hw/display/vga-pci.c
/openbmc/qemu/hw/display/vga.c
/openbmc/qemu/hw/display/virtio-gpu-base.c
/openbmc/qemu/hw/display/virtio-gpu-gl.c
/openbmc/qemu/hw/display/virtio-gpu-pci-gl.c
/openbmc/qemu/hw/display/virtio-gpu-virgl.c
/openbmc/qemu/hw/display/virtio-gpu.c
/openbmc/qemu/hw/display/virtio-vga-gl.c
/openbmc/qemu/hw/dma/meson.build
/openbmc/qemu/hw/dma/pl080.c
/openbmc/qemu/hw/dma/pxa2xx_dma.c
/openbmc/qemu/hw/dma/sifive_pdma.c
/openbmc/qemu/hw/dma/xlnx_csu_dma.c
/openbmc/qemu/hw/gpio/aspeed_gpio.c
/openbmc/qemu/hw/gpio/meson.build
/openbmc/qemu/hw/hppa/dino.c
/openbmc/qemu/hw/hppa/lasi.c
/openbmc/qemu/hw/hppa/machine.c
/openbmc/qemu/hw/i2c/Kconfig
/openbmc/qemu/hw/i2c/aspeed_i2c.c
/openbmc/qemu/hw/i2c/core.c
/openbmc/qemu/hw/i2c/i2c_mux_pca954x.c
/openbmc/qemu/hw/i2c/meson.build
/openbmc/qemu/hw/i2c/mpc_i2c.c
/openbmc/qemu/hw/i2c/trace-events
/openbmc/qemu/hw/i386/acpi-build.c
/openbmc/qemu/hw/i386/acpi-microvm.c
/openbmc/qemu/hw/i386/amd_iommu.c
/openbmc/qemu/hw/i386/fw_cfg.c
/openbmc/qemu/hw/i386/intel_iommu.c
/openbmc/qemu/hw/i386/kvm/apic.c
/openbmc/qemu/hw/i386/kvm/clock.c
/openbmc/qemu/hw/i386/kvm/ioapic.c
/openbmc/qemu/hw/i386/kvmvapic.c
/openbmc/qemu/hw/i386/microvm.c
/openbmc/qemu/hw/i386/pc.c
/openbmc/qemu/hw/i386/pc_piix.c
/openbmc/qemu/hw/i386/pc_q35.c
/openbmc/qemu/hw/i386/pc_sysfw.c
/openbmc/qemu/hw/i386/vmport.c
/openbmc/qemu/hw/i386/x86-iommu.c
/openbmc/qemu/hw/i386/xen/xen-hvm.c
/openbmc/qemu/hw/i386/xen/xen-mapcache.c
/openbmc/qemu/hw/i386/xen/xen_platform.c
/openbmc/qemu/hw/ide/Kconfig
/openbmc/qemu/hw/ide/ahci_internal.h
/openbmc/qemu/hw/input/lasips2.c
/openbmc/qemu/hw/input/meson.build
/openbmc/qemu/hw/input/trace-events
/openbmc/qemu/hw/input/virtio-input-host.c
/openbmc/qemu/hw/intc/apic.c
/openbmc/qemu/hw/intc/apic_common.c
/openbmc/qemu/hw/intc/arm_gic_kvm.c
/openbmc/qemu/hw/intc/arm_gicv3.c
/openbmc/qemu/hw/intc/arm_gicv3_kvm.c
/openbmc/qemu/hw/intc/armv7m_nvic.c
/openbmc/qemu/hw/intc/grlib_irqmp.c
/openbmc/qemu/hw/intc/ibex_plic.c
/openbmc/qemu/hw/intc/imx_gpcv2.c
/openbmc/qemu/hw/intc/meson.build
/openbmc/qemu/hw/intc/ompic.c
/openbmc/qemu/hw/intc/openpic.c
/openbmc/qemu/hw/intc/openpic_kvm.c
/openbmc/qemu/hw/intc/s390_flic.c
/openbmc/qemu/hw/intc/s390_flic_kvm.c
/openbmc/qemu/hw/intc/sifive_plic.c
/openbmc/qemu/hw/intc/spapr_xive.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/ipmi/isa_ipmi_bt.c
/openbmc/qemu/hw/ipmi/isa_ipmi_kcs.c
/openbmc/qemu/hw/isa/isa-superio.c
/openbmc/qemu/hw/isa/lpc_ich9.c
/openbmc/qemu/hw/isa/piix3.c
/openbmc/qemu/hw/isa/piix4.c
/openbmc/qemu/hw/isa/vt82c686.c
/openbmc/qemu/hw/m68k/an5206.c
/openbmc/qemu/hw/m68k/mcf5208.c
/openbmc/qemu/hw/m68k/mcf_intc.c
/openbmc/qemu/hw/m68k/next-cube.c
/openbmc/qemu/hw/m68k/next-kbd.c
/openbmc/qemu/hw/m68k/q800.c
/openbmc/qemu/hw/m68k/virt.c
/openbmc/qemu/hw/mem/meson.build
/openbmc/qemu/hw/mem/pc-dimm.c
/openbmc/qemu/hw/mem/sparse-mem.c
/openbmc/qemu/hw/meson.build
/openbmc/qemu/hw/microblaze/boot.c
/openbmc/qemu/hw/mips/boston.c
/openbmc/qemu/hw/mips/fuloong2e.c
/openbmc/qemu/hw/mips/gt64xxx_pci.c
/openbmc/qemu/hw/mips/jazz.c
/openbmc/qemu/hw/mips/loongson3_virt.c
/openbmc/qemu/hw/mips/malta.c
/openbmc/qemu/hw/mips/meson.build
/openbmc/qemu/hw/mips/mips_int.c
/openbmc/qemu/hw/mips/mipssim.c
/openbmc/qemu/hw/misc/aspeed_hace.c
/openbmc/qemu/hw/misc/aspeed_xdma.c
/openbmc/qemu/hw/misc/imx7_snvs.c
/openbmc/qemu/hw/misc/imx_ccm.c
/openbmc/qemu/hw/misc/imx_rngc.c
/openbmc/qemu/hw/misc/led.c
/openbmc/qemu/hw/misc/macio/macio.c
/openbmc/qemu/hw/misc/mchp_pfsoc_dmc.c
/openbmc/qemu/hw/misc/mchp_pfsoc_ioscb.c
/openbmc/qemu/hw/misc/mchp_pfsoc_sysreg.c
/openbmc/qemu/hw/misc/meson.build
/openbmc/qemu/hw/misc/mips_itu.c
/openbmc/qemu/hw/misc/mps2-scc.c
/openbmc/qemu/hw/misc/mst_fpga.c
/openbmc/qemu/hw/misc/pvpanic-isa.c
/openbmc/qemu/hw/misc/pvpanic-pci.c
/openbmc/qemu/hw/misc/sifive_e_prci.c
/openbmc/qemu/hw/misc/sifive_test.c
/openbmc/qemu/hw/misc/trace-events
/openbmc/qemu/hw/misc/virt_ctrl.c
/openbmc/qemu/hw/net/can/xlnx-zynqmp-can.c
/openbmc/qemu/hw/net/i82596.c
/openbmc/qemu/hw/net/lasi_i82596.c
/openbmc/qemu/hw/net/meson.build
/openbmc/qemu/hw/net/msf2-emac.c
/openbmc/qemu/hw/net/spapr_llan.c
/openbmc/qemu/hw/net/trace-events
/openbmc/qemu/hw/net/virtio-net.c
/openbmc/qemu/hw/net/xgmac.c
/openbmc/qemu/hw/nios2/10m50_devboard.c
/openbmc/qemu/hw/nios2/boot.c
/openbmc/qemu/hw/nios2/generic_nommu.c
/openbmc/qemu/hw/nubus/nubus-bus.c
/openbmc/qemu/hw/nvme/Kconfig
/openbmc/qemu/hw/nvme/ctrl.c
/openbmc/qemu/hw/nvme/dif.c
/openbmc/qemu/hw/nvme/meson.build
/openbmc/qemu/hw/nvme/ns.c
/openbmc/qemu/hw/nvme/nvme.h
/openbmc/qemu/hw/nvme/subsys.c
/openbmc/qemu/hw/nvme/trace-events
/openbmc/qemu/hw/nvme/trace.h
/openbmc/qemu/hw/nvram/nrf51_nvm.c
/openbmc/qemu/hw/nvram/spapr_nvram.c
/openbmc/qemu/hw/openrisc/openrisc_sim.c
/openbmc/qemu/hw/pci-host/Kconfig
/openbmc/qemu/hw/pci-host/bonito.c
/openbmc/qemu/hw/pci-host/gpex.c
/openbmc/qemu/hw/pci-host/meson.build
/openbmc/qemu/hw/pci-host/mv64361.c
/openbmc/qemu/hw/pci-host/mv643xx.h
/openbmc/qemu/hw/pci-host/ppce500.c
/openbmc/qemu/hw/pci-host/prep.c
/openbmc/qemu/hw/pci-host/sabre.c
/openbmc/qemu/hw/pci-host/sh_pci.c
/openbmc/qemu/hw/pci-host/trace-events
/openbmc/qemu/hw/pci/pci.c
/openbmc/qemu/hw/pci/pcie_host.c
/openbmc/qemu/hw/pcmcia/meson.build
/openbmc/qemu/hw/ppc/Kconfig
/openbmc/qemu/hw/ppc/e500.c
/openbmc/qemu/hw/ppc/mac_newworld.c
/openbmc/qemu/hw/ppc/mac_oldworld.c
/openbmc/qemu/hw/ppc/meson.build
/openbmc/qemu/hw/ppc/pegasos2.c
/openbmc/qemu/hw/ppc/pnv.c
/openbmc/qemu/hw/ppc/pnv_core.c
/openbmc/qemu/hw/ppc/pnv_pnor.c
/openbmc/qemu/hw/ppc/pnv_psi.c
/openbmc/qemu/hw/ppc/ppc.c
/openbmc/qemu/hw/ppc/ppc405_boards.c
/openbmc/qemu/hw/ppc/ppc405_uc.c
/openbmc/qemu/hw/ppc/ppc440_bamboo.c
/openbmc/qemu/hw/ppc/ppc440_pcix.c
/openbmc/qemu/hw/ppc/ppc440_uc.c
/openbmc/qemu/hw/ppc/ppc4xx_devs.c
/openbmc/qemu/hw/ppc/ppc4xx_pci.c
/openbmc/qemu/hw/ppc/ppc_booke.c
/openbmc/qemu/hw/ppc/prep.c
/openbmc/qemu/hw/ppc/rs6000_mc.c
/openbmc/qemu/hw/ppc/sam460ex.c
/openbmc/qemu/hw/ppc/spapr.c
/openbmc/qemu/hw/ppc/spapr_drc.c
/openbmc/qemu/hw/ppc/spapr_events.c
/openbmc/qemu/hw/ppc/spapr_hcall.c
/openbmc/qemu/hw/ppc/spapr_iommu.c
/openbmc/qemu/hw/ppc/spapr_nvdimm.c
/openbmc/qemu/hw/ppc/spapr_pci.c
/openbmc/qemu/hw/ppc/spapr_pci_vfio.c
/openbmc/qemu/hw/ppc/spapr_rng.c
/openbmc/qemu/hw/ppc/spapr_rtas.c
/openbmc/qemu/hw/ppc/spapr_rtas_ddw.c
/openbmc/qemu/hw/ppc/spapr_rtc.c
/openbmc/qemu/hw/ppc/spapr_tpm_proxy.c
/openbmc/qemu/hw/ppc/spapr_vio.c
/openbmc/qemu/hw/ppc/virtex_ml507.c
/openbmc/qemu/hw/remote/iohub.c
/openbmc/qemu/hw/remote/machine.c
/openbmc/qemu/hw/remote/memory.c
/openbmc/qemu/hw/remote/mpqemu-link.c
/openbmc/qemu/hw/remote/proxy-memory-listener.c
/openbmc/qemu/hw/riscv/Kconfig
/openbmc/qemu/hw/riscv/meson.build
/openbmc/qemu/hw/riscv/microchip_pfsoc.c
/openbmc/qemu/hw/riscv/numa.c
/openbmc/qemu/hw/riscv/opentitan.c
/openbmc/qemu/hw/riscv/shakti_c.c
/openbmc/qemu/hw/riscv/sifive_e.c
/openbmc/qemu/hw/riscv/sifive_u.c
/openbmc/qemu/hw/riscv/spike.c
/openbmc/qemu/hw/riscv/virt.c
/openbmc/qemu/hw/rtc/m48t59.c
/openbmc/qemu/hw/rtc/mc146818rtc.c
/openbmc/qemu/hw/rx/rx-gdbsim.c
/openbmc/qemu/hw/rx/rx62n.c
/openbmc/qemu/hw/s390x/3270-ccw.c
/openbmc/qemu/hw/s390x/css-bridge.c
/openbmc/qemu/hw/s390x/css.c
/openbmc/qemu/hw/s390x/ipl.c
/openbmc/qemu/hw/s390x/pv.c
/openbmc/qemu/hw/s390x/s390-ccw.c
/openbmc/qemu/hw/s390x/s390-pci-bus.c
/openbmc/qemu/hw/s390x/s390-pci-inst.c
/openbmc/qemu/hw/s390x/s390-stattrib-kvm.c
/openbmc/qemu/hw/s390x/s390-stattrib.c
/openbmc/qemu/hw/s390x/s390-virtio-ccw.c
/openbmc/qemu/hw/s390x/sclp.c
/openbmc/qemu/hw/s390x/sclpcpu.c
/openbmc/qemu/hw/s390x/virtio-ccw.c
/openbmc/qemu/hw/scsi/spapr_vscsi.c
/openbmc/qemu/hw/scsi/virtio-scsi-dataplane.c
/openbmc/qemu/hw/sd/cadence_sdhci.c
/openbmc/qemu/hw/sd/meson.build
/openbmc/qemu/hw/sd/omap_mmc.c
/openbmc/qemu/hw/sd/trace-events
/openbmc/qemu/hw/sh4/r2d.c
/openbmc/qemu/hw/sh4/sh7750.c
/openbmc/qemu/hw/sh4/shix.c
/openbmc/qemu/hw/smbios/smbios.c
/openbmc/qemu/hw/sparc/leon3.c
/openbmc/qemu/hw/sparc/sun4m.c
/openbmc/qemu/hw/sparc/trace-events
/openbmc/qemu/hw/sparc64/niagara.c
/openbmc/qemu/hw/sparc64/sparc64.c
/openbmc/qemu/hw/sparc64/trace-events
/openbmc/qemu/hw/ssi/aspeed_smc.c
/openbmc/qemu/hw/ssi/sifive_spi.c
/openbmc/qemu/hw/ssi/xilinx_spi.c
/openbmc/qemu/hw/timer/etraxfs_timer.c
/openbmc/qemu/hw/timer/meson.build
/openbmc/qemu/hw/timer/mips_gictimer.c
/openbmc/qemu/hw/timer/sse-counter.c
/openbmc/qemu/hw/timer/trace-events
/openbmc/qemu/hw/tpm/tpm_crb.c
/openbmc/qemu/hw/tricore/tc27x_soc.c
/openbmc/qemu/hw/tricore/triboard.c
/openbmc/qemu/hw/tricore/tricore_testboard.c
/openbmc/qemu/hw/usb/ccid-card-passthru.c
/openbmc/qemu/hw/usb/chipidea.c
/openbmc/qemu/hw/usb/combined-packet.c
/openbmc/qemu/hw/usb/dev-hid.c
/openbmc/qemu/hw/usb/dev-mtp.c
/openbmc/qemu/hw/usb/dev-smartcard-reader.c
/openbmc/qemu/hw/usb/dev-wacom.c
/openbmc/qemu/hw/usb/hcd-dwc3.c
/openbmc/qemu/hw/usb/host-stub.c
/openbmc/qemu/hw/usb/imx-usb-phy.c
/openbmc/qemu/hw/usb/meson.build
/openbmc/qemu/hw/usb/quirks-ftdi-ids.h
/openbmc/qemu/hw/usb/quirks.h
/openbmc/qemu/hw/usb/redirect.c
/openbmc/qemu/hw/usb/xen-usb.c
/openbmc/qemu/hw/usb/xlnx-usb-subsystem.c
/openbmc/qemu/hw/usb/xlnx-versal-usb2-ctrl-regs.c
/openbmc/qemu/hw/vfio/ap.c
/openbmc/qemu/hw/vfio/ccw.c
/openbmc/qemu/hw/vfio/display.c
/openbmc/qemu/hw/vfio/migration.c
/openbmc/qemu/hw/vfio/pci-quirks.c
/openbmc/qemu/hw/vfio/pci.c
/openbmc/qemu/hw/vfio/spapr.c
/openbmc/qemu/hw/virtio/vhost-user.c
/openbmc/qemu/hw/virtio/vhost-vdpa.c
/openbmc/qemu/hw/virtio/vhost.c
/openbmc/qemu/hw/virtio/virtio-balloon.c
/openbmc/qemu/hw/virtio/virtio-bus.c
/openbmc/qemu/hw/virtio/virtio-mem.c
/openbmc/qemu/hw/virtio/virtio-mmio.c
/openbmc/qemu/hw/virtio/virtio.c
/openbmc/qemu/hw/xen/xen-bus-helper.c
/openbmc/qemu/hw/xen/xen-legacy-backend.c
/openbmc/qemu/hw/xen/xen_pt.c
/openbmc/qemu/hw/xtensa/sim.c
/openbmc/qemu/hw/xtensa/virt.c
/openbmc/qemu/hw/xtensa/xtensa_memory.c
/openbmc/qemu/hw/xtensa/xtfpga.c
/openbmc/qemu/include/block/block.h
/openbmc/qemu/include/block/block_int.h
/openbmc/qemu/include/block/nvme.h
/openbmc/qemu/include/block/write-threshold.h
/openbmc/qemu/include/disas/dis-asm.h
/openbmc/qemu/include/elf.h
/openbmc/qemu/include/exec/cpu-common.h
/openbmc/qemu/include/exec/gen-icount.h
/openbmc/qemu/include/exec/helper-gen.h
/openbmc/qemu/include/exec/helper-proto.h
/openbmc/qemu/include/exec/helper-tcg.h
/openbmc/qemu/include/exec/memory.h
/openbmc/qemu/include/exec/poison.h
/openbmc/qemu/include/exec/ramblock.h
/openbmc/qemu/include/exec/ramlist.h
/openbmc/qemu/include/fpu/softfloat-macros.h
/openbmc/qemu/include/fpu/softfloat.h
/openbmc/qemu/include/glib-compat.h
/openbmc/qemu/include/hw/arm/aspeed_soc.h
/openbmc/qemu/include/hw/block/flash.h
/openbmc/qemu/include/hw/boards.h
/openbmc/qemu/include/hw/char/avr_usart.h
/openbmc/qemu/include/hw/char/shakti_uart.h
/openbmc/qemu/include/hw/core/accel-cpu.h
/openbmc/qemu/include/hw/core/cpu.h
/openbmc/qemu/include/hw/display/edid.h
/openbmc/qemu/include/hw/display/vga.h
/openbmc/qemu/include/hw/elf_ops.h
/openbmc/qemu/include/hw/firmware/smbios.h
/openbmc/qemu/include/hw/i2c/i2c.h
/openbmc/qemu/include/hw/i2c/i2c_mux_pca954x.h
/openbmc/qemu/include/hw/i386/pc.h
/openbmc/qemu/include/hw/isa/vt82c686.h
/openbmc/qemu/include/hw/mem/pc-dimm.h
/openbmc/qemu/include/hw/misc/aspeed_hace.h
/openbmc/qemu/include/hw/misc/aspeed_xdma.h
/openbmc/qemu/include/hw/misc/avr_power.h
/openbmc/qemu/include/hw/misc/mps2-scc.h
/openbmc/qemu/include/hw/misc/stm32f4xx_exti.h
/openbmc/qemu/include/hw/misc/stm32f4xx_syscfg.h
/openbmc/qemu/include/hw/pci-host/gpex.h
/openbmc/qemu/include/hw/pci-host/i440fx.h
/openbmc/qemu/include/hw/pci-host/mv64361.h
/openbmc/qemu/include/hw/pci/pci_ids.h
/openbmc/qemu/include/hw/ppc/spapr.h
/openbmc/qemu/include/hw/riscv/opentitan.h
/openbmc/qemu/include/hw/riscv/shakti_c.h
/openbmc/qemu/include/hw/ssi/aspeed_smc.h
/openbmc/qemu/include/hw/timer/avr_timer16.h
/openbmc/qemu/include/hw/virtio/vhost-vdpa.h
/openbmc/qemu/include/hw/virtio/vhost.h
/openbmc/qemu/include/hw/virtio/virtio-gpu.h
/openbmc/qemu/include/hw/virtio/virtio-mmio.h
/openbmc/qemu/include/hw/virtio/virtio.h
/openbmc/qemu/include/hw/xen/xen_common.h
/openbmc/qemu/include/migration/misc.h
/openbmc/qemu/include/qemu/accel.h
/openbmc/qemu/include/qemu/bswap.h
/openbmc/qemu/include/qemu/host-utils.h
/openbmc/qemu/include/qemu/job.h
/openbmc/qemu/include/qemu/main-loop.h
/openbmc/qemu/include/qemu/osdep.h
/openbmc/qemu/include/qemu/ratelimit.h
/openbmc/qemu/include/qemu/transactions.h
/openbmc/qemu/include/sysemu/arch_init.h
/openbmc/qemu/include/sysemu/hax.h
/openbmc/qemu/include/sysemu/hvf.h
/openbmc/qemu/include/sysemu/hw_accel.h
/openbmc/qemu/include/sysemu/nvmm.h
/openbmc/qemu/include/sysemu/os-posix.h
/openbmc/qemu/include/sysemu/os-win32.h
/openbmc/qemu/include/sysemu/whpx.h
/openbmc/qemu/include/tcg/tcg-op.h
/openbmc/qemu/job.c
/openbmc/qemu/linux-user/aarch64/signal.c
/openbmc/qemu/linux-user/alpha/signal.c
/openbmc/qemu/linux-user/alpha/target_signal.h
/openbmc/qemu/linux-user/arm/cpu_loop.c
/openbmc/qemu/linux-user/arm/signal.c
/openbmc/qemu/linux-user/elfload.c
/openbmc/qemu/linux-user/hexagon/cpu_loop.c
/openbmc/qemu/linux-user/hexagon/signal.c
/openbmc/qemu/linux-user/hppa/signal.c
/openbmc/qemu/linux-user/i386/signal.c
/openbmc/qemu/linux-user/m68k/signal.c
/openbmc/qemu/linux-user/main.c
/openbmc/qemu/linux-user/meson.build
/openbmc/qemu/linux-user/microblaze/signal.c
/openbmc/qemu/linux-user/mips/signal.c
/openbmc/qemu/linux-user/nios2/signal.c
/openbmc/qemu/linux-user/openrisc/signal.c
/openbmc/qemu/linux-user/ppc/cpu_loop.c
/openbmc/qemu/linux-user/ppc/signal.c
/openbmc/qemu/linux-user/qemu.h
/openbmc/qemu/linux-user/riscv/signal.c
/openbmc/qemu/linux-user/s390x/signal.c
/openbmc/qemu/linux-user/semihost.c
/openbmc/qemu/linux-user/sh4/signal.c
/openbmc/qemu/linux-user/signal-common.h
/openbmc/qemu/linux-user/signal.c
/openbmc/qemu/linux-user/sparc/signal.c
/openbmc/qemu/linux-user/sparc/target_cpu.h
/openbmc/qemu/linux-user/sparc/target_signal.h
/openbmc/qemu/linux-user/sparc/target_structs.h
/openbmc/qemu/linux-user/sparc/target_syscall.h
/openbmc/qemu/linux-user/strace.c
/openbmc/qemu/linux-user/strace.list
/openbmc/qemu/linux-user/syscall.c
/openbmc/qemu/linux-user/syscall_defs.h
/openbmc/qemu/linux-user/xtensa/signal.c
/openbmc/qemu/meson.build
/openbmc/qemu/meson_options.txt
/openbmc/qemu/migration/meson.build
/openbmc/qemu/migration/migration.c
/openbmc/qemu/migration/migration.h
/openbmc/qemu/migration/multifd.c
/openbmc/qemu/migration/postcopy-ram.c
/openbmc/qemu/migration/ram.c
/openbmc/qemu/migration/target.c
/openbmc/qemu/monitor/hmp-cmds.c
/openbmc/qemu/monitor/misc.c
/openbmc/qemu/monitor/monitor.c
/openbmc/qemu/monitor/qmp.c
/openbmc/qemu/net/dump.c
/openbmc/qemu/net/filter-replay.c
/openbmc/qemu/net/net.c
/openbmc/qemu/net/netmap.c
/openbmc/qemu/net/slirp.c
/openbmc/qemu/pc-bios/s390-ccw.img
/openbmc/qemu/pc-bios/s390-ccw/Makefile
/openbmc/qemu/pc-bios/s390-ccw/bootmap.c
/openbmc/qemu/pc-bios/s390-ccw/helper.h
/openbmc/qemu/pc-bios/s390-ccw/jump2ipl.c
/openbmc/qemu/pc-bios/s390-ccw/menu.c
/openbmc/qemu/pc-bios/s390-ccw/netboot.mak
/openbmc/qemu/pc-bios/s390-ccw/s390-ccw.h
/openbmc/qemu/pc-bios/s390-ccw/virtio.c
/openbmc/qemu/pc-bios/s390-netboot.img
/openbmc/qemu/pc-bios/u-boot.e500
/openbmc/qemu/plugins/api.c
/openbmc/qemu/plugins/core.c
/openbmc/qemu/plugins/loader.c
/openbmc/qemu/qapi/block-core.json
/openbmc/qemu/qapi/machine.json
/openbmc/qemu/qapi/migration.json
/openbmc/qemu/qapi/misc-target.json
/openbmc/qemu/qapi/qom.json
/openbmc/qemu/qapi/transaction.json
/openbmc/qemu/qemu-edid.c
/openbmc/qemu/qemu-img.c
/openbmc/qemu/qemu-io-cmds.c
/openbmc/qemu/qemu-io.c
/openbmc/qemu/qemu-options.hx
/openbmc/qemu/roms/Makefile
/openbmc/qemu/roms/u-boot
/openbmc/qemu/scripts/checkpatch.pl
/openbmc/qemu/scripts/coverity-scan/COMPONENTS.md
/openbmc/qemu/scripts/coverity-scan/model.c
/openbmc/qemu/scripts/decodetree.py
parser.py
schema.py
source.py
/openbmc/qemu/scripts/qemu-binfmt-conf.sh
/openbmc/qemu/semihosting/arm-compat-semi.c
/openbmc/qemu/semihosting/config.c
/openbmc/qemu/semihosting/console.c
/openbmc/qemu/softmmu/arch_init.c
/openbmc/qemu/softmmu/device_tree.c
/openbmc/qemu/softmmu/memory.c
/openbmc/qemu/softmmu/memory_mapping.c
/openbmc/qemu/softmmu/physmem.c
/openbmc/qemu/softmmu/qdev-monitor.c
/openbmc/qemu/softmmu/vl.c
/openbmc/qemu/stubs/meson.build
/openbmc/qemu/stubs/semihost.c
/openbmc/qemu/stubs/usb-dev-stub.c
/openbmc/qemu/target/arm/cpu.c
/openbmc/qemu/target/arm/cpu.h
/openbmc/qemu/target/arm/helper-a64.c
/openbmc/qemu/target/arm/helper-a64.h
/openbmc/qemu/target/arm/helper.c
/openbmc/qemu/target/arm/internals.h
/openbmc/qemu/target/arm/meson.build
/openbmc/qemu/target/arm/mte_helper.c
/openbmc/qemu/target/arm/neon-ls.decode
/openbmc/qemu/target/arm/op_helper.c
/openbmc/qemu/target/arm/sve_helper.c
/openbmc/qemu/target/arm/translate-a32.h
/openbmc/qemu/target/arm/translate-a64.c
/openbmc/qemu/target/arm/translate-a64.h
/openbmc/qemu/target/arm/translate-m-nocp.c
/openbmc/qemu/target/arm/translate-neon.c
/openbmc/qemu/target/arm/translate-sve.c
/openbmc/qemu/target/arm/translate-vfp.c
/openbmc/qemu/target/arm/translate.c
/openbmc/qemu/target/arm/translate.h
/openbmc/qemu/target/avr/helper.c
/openbmc/qemu/target/hexagon/arch.c
/openbmc/qemu/target/hexagon/arch.h
/openbmc/qemu/target/hexagon/cpu.c
/openbmc/qemu/target/hexagon/cpu.h
/openbmc/qemu/target/hexagon/cpu_bits.h
/openbmc/qemu/target/hexagon/decode.c
/openbmc/qemu/target/hexagon/fma_emu.c
/openbmc/qemu/target/hexagon/gen_tcg.h
/openbmc/qemu/target/hexagon/gen_tcg_funcs.py
/openbmc/qemu/target/hexagon/genptr.c
/openbmc/qemu/target/hexagon/helper.h
/openbmc/qemu/target/hexagon/iclass.c
/openbmc/qemu/target/hexagon/imported/alu.idef
/openbmc/qemu/target/hexagon/imported/compare.idef
/openbmc/qemu/target/hexagon/imported/encode_pp.def
/openbmc/qemu/target/hexagon/imported/float.idef
/openbmc/qemu/target/hexagon/imported/ldst.idef
/openbmc/qemu/target/hexagon/imported/macros.def
/openbmc/qemu/target/hexagon/imported/shift.idef
/openbmc/qemu/target/hexagon/insn.h
/openbmc/qemu/target/hexagon/internal.h
/openbmc/qemu/target/hexagon/macros.h
/openbmc/qemu/target/hexagon/meson.build
/openbmc/qemu/target/hexagon/op_helper.c
/openbmc/qemu/target/hexagon/reg_fields.c
/openbmc/qemu/target/hexagon/reg_fields.h
/openbmc/qemu/target/hexagon/translate.c
/openbmc/qemu/target/hexagon/translate.h
/openbmc/qemu/target/i386/cpu-internal.h
/openbmc/qemu/target/i386/cpu-sysemu.c
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/cpu.h
/openbmc/qemu/target/i386/gdbstub.c
/openbmc/qemu/target/i386/hax/hax-mem.c
/openbmc/qemu/target/i386/helper.c
/openbmc/qemu/target/i386/helper.h
/openbmc/qemu/target/i386/host-cpu.c
/openbmc/qemu/target/i386/host-cpu.h
/openbmc/qemu/target/i386/hvf/hvf-cpu.c
/openbmc/qemu/target/i386/hvf/hvf.c
/openbmc/qemu/target/i386/hvf/meson.build
/openbmc/qemu/target/i386/hvf/x86_mmu.c
/openbmc/qemu/target/i386/kvm/kvm-cpu.c
/openbmc/qemu/target/i386/kvm/kvm-cpu.h
/openbmc/qemu/target/i386/kvm/kvm.c
/openbmc/qemu/target/i386/kvm/meson.build
/openbmc/qemu/target/i386/machine.c
/openbmc/qemu/target/i386/meson.build
/openbmc/qemu/target/i386/nvmm/meson.build
/openbmc/qemu/target/i386/nvmm/nvmm-accel-ops.c
/openbmc/qemu/target/i386/nvmm/nvmm-accel-ops.h
/openbmc/qemu/target/i386/nvmm/nvmm-all.c
/openbmc/qemu/target/i386/sev.c
/openbmc/qemu/target/i386/svm.h
/openbmc/qemu/target/i386/tcg/bpt_helper.c
/openbmc/qemu/target/i386/tcg/excp_helper.c
/openbmc/qemu/target/i386/tcg/fpu_helper.c
/openbmc/qemu/target/i386/tcg/helper-tcg.h
/openbmc/qemu/target/i386/tcg/meson.build
/openbmc/qemu/target/i386/tcg/misc_helper.c
/openbmc/qemu/target/i386/tcg/seg_helper.c
/openbmc/qemu/target/i386/tcg/seg_helper.h
/openbmc/qemu/target/i386/tcg/sysemu/bpt_helper.c
/openbmc/qemu/target/i386/tcg/sysemu/excp_helper.c
/openbmc/qemu/target/i386/tcg/sysemu/fpu_helper.c
/openbmc/qemu/target/i386/tcg/sysemu/meson.build
/openbmc/qemu/target/i386/tcg/sysemu/misc_helper.c
/openbmc/qemu/target/i386/tcg/sysemu/seg_helper.c
/openbmc/qemu/target/i386/tcg/sysemu/smm_helper.c
/openbmc/qemu/target/i386/tcg/sysemu/svm_helper.c
/openbmc/qemu/target/i386/tcg/sysemu/tcg-cpu.c
/openbmc/qemu/target/i386/tcg/tcg-cpu.c
/openbmc/qemu/target/i386/tcg/tcg-cpu.h
/openbmc/qemu/target/i386/tcg/translate.c
/openbmc/qemu/target/i386/tcg/user/excp_helper.c
/openbmc/qemu/target/i386/tcg/user/meson.build
/openbmc/qemu/target/i386/tcg/user/misc_stubs.c
/openbmc/qemu/target/i386/tcg/user/seg_helper.c
/openbmc/qemu/target/i386/tcg/user/svm_stubs.c
/openbmc/qemu/target/meson.build
/openbmc/qemu/target/mips/cpu.c
/openbmc/qemu/target/mips/fpu.c
/openbmc/qemu/target/mips/fpu_helper.h
/openbmc/qemu/target/mips/helper.h
/openbmc/qemu/target/mips/internal.h
/openbmc/qemu/target/mips/meson.build
/openbmc/qemu/target/mips/msa.c
/openbmc/qemu/target/mips/sysemu/addr.c
/openbmc/qemu/target/mips/sysemu/cp0.c
/openbmc/qemu/target/mips/sysemu/cp0_timer.c
/openbmc/qemu/target/mips/sysemu/machine.c
/openbmc/qemu/target/mips/sysemu/meson.build
/openbmc/qemu/target/mips/sysemu/physaddr.c
/openbmc/qemu/target/mips/tcg/dsp_helper.c
/openbmc/qemu/target/mips/tcg/exception.c
/openbmc/qemu/target/mips/tcg/fpu_helper.c
/openbmc/qemu/target/mips/tcg/ldst_helper.c
/openbmc/qemu/target/mips/tcg/lmmi_helper.c
/openbmc/qemu/target/mips/tcg/meson.build
/openbmc/qemu/target/mips/tcg/mips32r6.decode
/openbmc/qemu/target/mips/tcg/mips64r6.decode
/openbmc/qemu/target/mips/tcg/msa32.decode
/openbmc/qemu/target/mips/tcg/msa64.decode
/openbmc/qemu/target/mips/tcg/msa_helper.c
/openbmc/qemu/target/mips/tcg/msa_helper.h.inc
/openbmc/qemu/target/mips/tcg/msa_translate.c
/openbmc/qemu/target/mips/tcg/mxu_translate.c
/openbmc/qemu/target/mips/tcg/op_helper.c
/openbmc/qemu/target/mips/tcg/rel6_translate.c
/openbmc/qemu/target/mips/tcg/sysemu/cp0_helper.c
/openbmc/qemu/target/mips/tcg/sysemu/meson.build
/openbmc/qemu/target/mips/tcg/sysemu/mips-semi.c
/openbmc/qemu/target/mips/tcg/sysemu/special_helper.c
/openbmc/qemu/target/mips/tcg/sysemu/tlb_helper.c
/openbmc/qemu/target/mips/tcg/sysemu_helper.h.inc
/openbmc/qemu/target/mips/tcg/tcg-internal.h
/openbmc/qemu/target/mips/tcg/translate.c
/openbmc/qemu/target/mips/tcg/translate_addr_const.c
/openbmc/qemu/target/mips/tcg/tx79.decode
/openbmc/qemu/target/mips/tcg/tx79_translate.c
/openbmc/qemu/target/mips/tcg/txx9_translate.c
/openbmc/qemu/target/mips/tcg/user/meson.build
/openbmc/qemu/target/mips/tcg/user/tlb_helper.c
/openbmc/qemu/target/mips/translate.h
/openbmc/qemu/target/openrisc/sys_helper.c
/openbmc/qemu/target/ppc/cpu-qom.h
/openbmc/qemu/target/ppc/cpu.h
/openbmc/qemu/target/ppc/excp_helper.c
/openbmc/qemu/target/ppc/gdbstub.c
/openbmc/qemu/target/ppc/helper.h
/openbmc/qemu/target/ppc/helper_regs.c
/openbmc/qemu/target/ppc/helper_regs.h
/openbmc/qemu/target/ppc/int_helper.c
/openbmc/qemu/target/ppc/internal.h
/openbmc/qemu/target/ppc/machine.c
/openbmc/qemu/target/ppc/mem_helper.c
/openbmc/qemu/target/ppc/meson.build
/openbmc/qemu/target/ppc/misc_helper.c
/openbmc/qemu/target/ppc/mmu-hash64.c
/openbmc/qemu/target/ppc/translate.c
/openbmc/qemu/target/ppc/translate_init.c.inc
/openbmc/qemu/target/riscv/cpu.c
/openbmc/qemu/target/riscv/cpu.h
/openbmc/qemu/target/riscv/cpu_bits.h
/openbmc/qemu/target/riscv/cpu_helper.c
/openbmc/qemu/target/riscv/csr.c
/openbmc/qemu/target/riscv/fpu_helper.c
/openbmc/qemu/target/riscv/gdbstub.c
/openbmc/qemu/target/riscv/helper.h
/openbmc/qemu/target/riscv/insn16.decode
/openbmc/qemu/target/riscv/insn32.decode
/openbmc/qemu/target/riscv/insn_trans/trans_rva.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvd.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvf.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvh.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvi.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvm.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvv.c.inc
/openbmc/qemu/target/riscv/machine.c
/openbmc/qemu/target/riscv/meson.build
/openbmc/qemu/target/riscv/monitor.c
/openbmc/qemu/target/riscv/op_helper.c
/openbmc/qemu/target/riscv/pmp.c
/openbmc/qemu/target/riscv/pmp.h
/openbmc/qemu/target/riscv/trace-events
/openbmc/qemu/target/riscv/translate.c
/openbmc/qemu/target/riscv/vector_helper.c
/openbmc/qemu/target/rx/helper.c
/openbmc/qemu/target/s390x/cpu.c
/openbmc/qemu/target/s390x/diag.c
/openbmc/qemu/target/s390x/excp_helper.c
/openbmc/qemu/target/s390x/interrupt.c
/openbmc/qemu/target/sh4/helper.c
/openbmc/qemu/target/sparc/cpu.h
/openbmc/qemu/target/sparc/int32_helper.c
/openbmc/qemu/target/sparc/int64_helper.c
/openbmc/qemu/target/sparc/trace-events
/openbmc/qemu/target/xtensa/op_helper.c
/openbmc/qemu/tcg/tcg-op-vec.c
/openbmc/qemu/tcg/tcg-op.c
/openbmc/qemu/tcg/tcg.c
/openbmc/qemu/tests/acceptance/boot_linux_console.py
/openbmc/qemu/tests/decode/succ_argset_type1.decode
/openbmc/qemu/tests/docker/dockerfiles/alpine.docker
/openbmc/qemu/tests/docker/dockerfiles/debian10.docker
/openbmc/qemu/tests/docker/dockerfiles/fedora-i386-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/fedora-win32-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/fedora-win64-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/fedora.docker
/openbmc/qemu/tests/docker/dockerfiles/opensuse-leap.docker
/openbmc/qemu/tests/docker/dockerfiles/ubuntu.docker
/openbmc/qemu/tests/docker/dockerfiles/ubuntu1804.docker
/openbmc/qemu/tests/docker/dockerfiles/ubuntu2004.docker
/openbmc/qemu/tests/fp/fp-bench.c
/openbmc/qemu/tests/fp/fp-test.c
/openbmc/qemu/tests/fp/wrap.c.inc
/openbmc/qemu/tests/migration/guestperf/comparison.py
/openbmc/qemu/tests/migration/guestperf/engine.py
/openbmc/qemu/tests/migration/guestperf/scenario.py
/openbmc/qemu/tests/migration/guestperf/shell.py
/openbmc/qemu/tests/qapi-schema/test-qapi.py
/openbmc/qemu/tests/qemu-iotests/005
/openbmc/qemu/tests/qemu-iotests/025
/openbmc/qemu/tests/qemu-iotests/231
/openbmc/qemu/tests/qemu-iotests/231.out
/openbmc/qemu/tests/qemu-iotests/240.out
/openbmc/qemu/tests/qemu-iotests/245
/openbmc/qemu/tests/qemu-iotests/245.out
/openbmc/qemu/tests/qemu-iotests/264
/openbmc/qemu/tests/qemu-iotests/283.out
/openbmc/qemu/tests/qemu-iotests/295.out
/openbmc/qemu/tests/qemu-iotests/296.out
/openbmc/qemu/tests/qemu-iotests/check
/openbmc/qemu/tests/qemu-iotests/common.rc
/openbmc/qemu/tests/qemu-iotests/iotests.py
/openbmc/qemu/tests/qemu-iotests/pylintrc
/openbmc/qemu/tests/qemu-iotests/testenv.py
/openbmc/qemu/tests/qemu-iotests/testrunner.py
/openbmc/qemu/tests/qemu-iotests/tests/qsd-jobs.out
/openbmc/qemu/tests/qtest/ahci-test.c
/openbmc/qemu/tests/qtest/aspeed_hace-test.c
/openbmc/qemu/tests/qtest/aspeed_smc-test.c
/openbmc/qemu/tests/qtest/boot-serial-test.c
/openbmc/qemu/tests/qtest/fuzz/fuzz.c
/openbmc/qemu/tests/qtest/fuzz/generic_fuzz.c
/openbmc/qemu/tests/qtest/fuzz/qos_fuzz.c
/openbmc/qemu/tests/qtest/ipmi-bt-test.c
/openbmc/qemu/tests/qtest/ipmi-kcs-test.c
/openbmc/qemu/tests/qtest/libqos/meson.build
/openbmc/qemu/tests/qtest/libqos/qgraph.c
/openbmc/qemu/tests/qtest/libqos/vhost-user-blk.c
/openbmc/qemu/tests/qtest/libqos/vhost-user-blk.h
/openbmc/qemu/tests/qtest/libqtest.c
/openbmc/qemu/tests/qtest/machine-none-test.c
/openbmc/qemu/tests/qtest/meson.build
/openbmc/qemu/tests/qtest/migration-test.c
/openbmc/qemu/tests/qtest/npcm7xx_pwm-test.c
/openbmc/qemu/tests/qtest/rtc-test.c
/openbmc/qemu/tests/qtest/tpm-util.c
/openbmc/qemu/tests/qtest/vhost-user-blk-test.c
/openbmc/qemu/tests/tcg/README
/openbmc/qemu/tests/tcg/aarch64/Makefile.target
/openbmc/qemu/tests/tcg/aarch64/mte-5.c
/openbmc/qemu/tests/tcg/configure.sh
/openbmc/qemu/tests/tcg/hexagon/Makefile.target
/openbmc/qemu/tests/tcg/hexagon/brev.c
/openbmc/qemu/tests/tcg/hexagon/circ.c
/openbmc/qemu/tests/tcg/hexagon/fpstuff.c
/openbmc/qemu/tests/tcg/hexagon/load_align.c
/openbmc/qemu/tests/tcg/hexagon/load_unpack.c
/openbmc/qemu/tests/tcg/hexagon/misc.c
/openbmc/qemu/tests/tcg/hexagon/multi_result.c
/openbmc/qemu/tests/tcg/sparc64/Makefile.target
/openbmc/qemu/tests/unit/test-bdrv-drain.c
/openbmc/qemu/tests/unit/test-bdrv-graph-mod.c
/openbmc/qemu/tests/unit/test-write-threshold.c
/openbmc/qemu/tools/virtiofsd/fuse_lowlevel.c
/openbmc/qemu/tools/virtiofsd/fuse_virtio.c
/openbmc/qemu/tools/virtiofsd/helper.c
/openbmc/qemu/tools/virtiofsd/passthrough_ll.c
/openbmc/qemu/ui/x_keymap.c
/openbmc/qemu/util/compatfd.c
/openbmc/qemu/util/cutils.c
/openbmc/qemu/util/main-loop.c
/openbmc/qemu/util/meson.build
/openbmc/qemu/util/module.c
/openbmc/qemu/util/oslib-win32.c
/openbmc/qemu/util/qemu-option.c
/openbmc/qemu/util/transactions.c
/openbmc/qemu/util/vfio-helpers.c
b54626e021-Apr-2021 John Snow <jsnow@redhat.com>

qapi/error.py: enable mypy checks

Signed-off-by: John Snow <jsnow@redhat.com>

Message-Id: <20210421192233.3542904-9-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-b

qapi/error.py: enable mypy checks

Signed-off-by: John Snow <jsnow@redhat.com>

Message-Id: <20210421192233.3542904-9-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>

show more ...

30d0a01621-Apr-2021 John Snow <jsnow@redhat.com>

qapi/error: Add type hints

No functional change.

Note: QAPISourceError's info parameter is Optional[] because schema.py
treats the info property of its various classes as Optional to
accommodate bu

qapi/error: Add type hints

No functional change.

Note: QAPISourceError's info parameter is Optional[] because schema.py
treats the info property of its various classes as Optional to
accommodate built-in types, which have no source. See prior commit
'qapi/error: assert QAPISourceInfo is not None'.

Signed-off-by: John Snow <jsnow@redhat.com>

Message-Id: <20210421192233.3542904-8-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>

show more ...

92870cf321-Apr-2021 John Snow <jsnow@redhat.com>

qapi/error.py: enable pylint checks

Signed-off-by: John Snow <jsnow@redhat.com>
Message-Id: <20210421192233.3542904-7-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-

qapi/error.py: enable pylint checks

Signed-off-by: John Snow <jsnow@redhat.com>
Message-Id: <20210421192233.3542904-7-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>

show more ...

ac6a7d8821-Apr-2021 John Snow <jsnow@redhat.com>

qapi/error.py: move QAPIParseError to parser.py

Keeping it in error.py will create some cyclic import problems when we
add types to the QAPISchemaParser. Callers don't need to know the
details of QA

qapi/error.py: move QAPIParseError to parser.py

Keeping it in error.py will create some cyclic import problems when we
add types to the QAPISchemaParser. Callers don't need to know the
details of QAPIParseError unless they are parsing or dealing directly
with the parser, so this won't create any harsh new requirements for
callers in the general case.

Update error.py with a little docstring that gives a nod to where the
error may now be found.

Signed-off-by: John Snow <jsnow@redhat.com>
Message-Id: <20210421192233.3542904-6-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>

show more ...

ac89761121-Apr-2021 John Snow <jsnow@redhat.com>

qapi/error: assert QAPISourceInfo is not None

Built-in stuff is not parsed from a source file, and therefore have no
QAPISourceInfo. If such None info was used for reporting an error,
built-in stuff

qapi/error: assert QAPISourceInfo is not None

Built-in stuff is not parsed from a source file, and therefore have no
QAPISourceInfo. If such None info was used for reporting an error,
built-in stuff would be broken. Programming error. Instead of reporting
a confusing error with bogus source location then, we better crash.

We currently crash only if self.col was set. Assert that self.info is
not None in order to crash reliably.

We can not yet change the type of the initializer to prove this cannot
happen at static analysis time before the remainder of the code is fully
typed.

Signed-off-by: John Snow <jsnow@redhat.com>
Message-Id: <20210421192233.3542904-5-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>

show more ...

86cc2ff621-Apr-2021 John Snow <jsnow@redhat.com>

qapi/error: Make QAPISourceError 'col' parameter optional

It's already treated as optional, with one direct caller and some
subclass callers passing 'None'. Make it officially optional, which
requir

qapi/error: Make QAPISourceError 'col' parameter optional

It's already treated as optional, with one direct caller and some
subclass callers passing 'None'. Make it officially optional, which
requires moving the position of the argument to come after all required
parameters.

QAPISemError becomes functionally identical to QAPISourceError. Keep the
name to preserve its semantic meaning and avoid code churn, but remove
the now-useless __init__ wrapper.

Signed-off-by: John Snow <jsnow@redhat.com>
Message-Id: <20210421192233.3542904-4-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>

show more ...

b54e07cc21-Apr-2021 John Snow <jsnow@redhat.com>

qapi/error: Use Python3-style super()

Missed in commit 2cae67bcb5 "qapi: Use super() now we have Python 3".

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat

qapi/error: Use Python3-style super()

Missed in commit 2cae67bcb5 "qapi: Use super() now we have Python 3".

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20210421192233.3542904-3-jsnow@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>

show more ...

46f4946821-Apr-2021 John Snow <jsnow@redhat.com>

qapi/error: Repurpose QAPIError as an abstract base exception class

Rename QAPIError to QAPISourceError, and then create a new QAPIError
class that serves as the basis for all of our other custom ex

qapi/error: Repurpose QAPIError as an abstract base exception class

Rename QAPIError to QAPISourceError, and then create a new QAPIError
class that serves as the basis for all of our other custom exceptions,
without specifying any class properties.

This leaves QAPIError as a package-wide error class that's suitable for
any current or future errors.

(Right now, we don't have any errors that DON'T also want to specify a
Source location, but this MAY change. In these cases, a common abstract
ancestor would be desired.)

Add docstrings to explain the intended function of each error class.

Signed-off-by: John Snow <jsnow@redhat.com>
Message-Id: <20210421192233.3542904-2-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>

show more ...

e81718c621-Apr-2021 John Snow <jsnow@redhat.com>

qapi/expr: Update authorship and copyright information

Signed-off-by: John Snow <jsnow@redhat.com>
Message-Id: <20210421182032.3521476-18-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@red

qapi/expr: Update authorship and copyright information

Signed-off-by: John Snow <jsnow@redhat.com>
Message-Id: <20210421182032.3521476-18-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>

show more ...

eab9993921-Apr-2021 John Snow <jsnow@redhat.com>

qapi/expr.py: Use tuples instead of lists for static data

It is -- maybe -- possibly -- three nanoseconds faster.

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Eduardo Habkost <ehabkost@

qapi/expr.py: Use tuples instead of lists for static data

It is -- maybe -- possibly -- three nanoseconds faster.

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Reviewed-by: Cleber Rosa <crosa@redhat.com>
Message-Id: <20210421182032.3521476-17-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>

show more ...

a486536321-Apr-2021 John Snow <jsnow@redhat.com>

qapi/expr.py: Add docstrings

Now with more :words:!

Signed-off-by: John Snow <jsnow@redhat.com>
Message-Id: <20210421182032.3521476-16-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redha

qapi/expr.py: Add docstrings

Now with more :words:!

Signed-off-by: John Snow <jsnow@redhat.com>
Message-Id: <20210421182032.3521476-16-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>

show more ...

79e4fd1421-Apr-2021 John Snow <jsnow@redhat.com>

qapi/expr: Only explicitly prohibit 'Kind' nor 'List' for type names

Per list review: qapi-code-gen.txt reserves suffixes Kind and
List only for type names, but the code rejects them for events and

qapi/expr: Only explicitly prohibit 'Kind' nor 'List' for type names

Per list review: qapi-code-gen.txt reserves suffixes Kind and
List only for type names, but the code rejects them for events and
commands, too.

It turns out we reject them earlier anyway: In check_name_upper() for
event names, and in check_name_lower() for command names.

Still, adjust the code for clarity over what precisely we are guarding
against.

Signed-off-by: John Snow <jsnow@redhat.com>
Message-Id: <20210421182032.3521476-15-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>

show more ...

328e8ca721-Apr-2021 John Snow <jsnow@redhat.com>

qapi/expr.py: enable pylint checks

Signed-off-by: John Snow <jsnow@redhat.com>
Tested-by: Eduardo Habkost <ehabkost@redhat.com>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Reviewed-by: Cleber

qapi/expr.py: enable pylint checks

Signed-off-by: John Snow <jsnow@redhat.com>
Tested-by: Eduardo Habkost <ehabkost@redhat.com>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Reviewed-by: Cleber Rosa <crosa@redhat.com>
Tested-by: Cleber Rosa <crosa@redhat.com>
Message-Id: <20210421182032.3521476-14-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>

show more ...

e42648dc21-Apr-2021 John Snow <jsnow@redhat.com>

qapi/expr.py: Remove single-letter variable

Signed-off-by: John Snow <jsnow@redhat.com>
Message-Id: <20210421182032.3521476-13-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Si

qapi/expr.py: Remove single-letter variable

Signed-off-by: John Snow <jsnow@redhat.com>
Message-Id: <20210421182032.3521476-13-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>

show more ...

210fd63121-Apr-2021 John Snow <jsnow@redhat.com>

qapi/expr.py: Consolidate check_if_str calls in check_if

This is a small rewrite to address some minor style nits.

Don't compare against the empty list to check for the empty condition, and
move th

qapi/expr.py: Consolidate check_if_str calls in check_if

This is a small rewrite to address some minor style nits.

Don't compare against the empty list to check for the empty condition, and
move the normalization forward to unify the check on the now-normalized
structure.

With the check unified, the local nested function isn't needed anymore
and can be brought down into the normal flow of the function. With the
nesting level changed, shuffle the error strings around a bit to get
them to fit in 79 columns.

Note: although ifcond is typed as Sequence[str] elsewhere, we *know* that
the parser will produce real, bona-fide lists. It's okay to check
isinstance(ifcond, list) here.

Signed-off-by: John Snow <jsnow@redhat.com>
Message-Id: <20210421182032.3521476-12-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>

show more ...

b9ad358a21-Apr-2021 John Snow <jsnow@redhat.com>

qapi/expr.py: add type hint annotations

Annotations do not change runtime behavior.
This commit *only* adds annotations.

Signed-off-by: John Snow <jsnow@redhat.com>
Message-Id: <20210421182032.3521

qapi/expr.py: add type hint annotations

Annotations do not change runtime behavior.
This commit *only* adds annotations.

Signed-off-by: John Snow <jsnow@redhat.com>
Message-Id: <20210421182032.3521476-11-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>

show more ...

12345678910>>...21