[PATCH 0/7] Fix some -device T,help crashes

alistair23@gmail.com posted 7 patches 3 weeks, 5 days ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20260312043158.4191378-1-alistair.francis@wdc.com
Maintainers: "Michael S. Tsirkin" <mst@redhat.com>, Igor Mammedov <imammedo@redhat.com>, Ani Sinha <anisinha@redhat.com>, Peter Maydell <peter.maydell@linaro.org>, Jean-Christophe Dubois <jcd@tribudubois.net>, Andrey Smirnov <andrew.smirnov@gmail.com>, Bernhard Beschow <shentey@gmail.com>, Alistair Francis <alistair@alistair23.me>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, Palmer Dabbelt <palmer@dabbelt.com>, Weiwei Li <liwei1518@gmail.com>, Daniel Henrique Barboza <dbarboza@ventanamicro.com>, Liu Zhiwei <zhiwei_liu@linux.alibaba.com>
hw/acpi/generic_event_device.c |  5 ++--
hw/arm/fsl-imx6.c              | 14 ++++++------
hw/arm/fsl-imx7.c              | 19 ++++++++-------
hw/arm/fsl-imx8mp.c            | 13 +++++------
hw/arm/xlnx-zynqmp.c           | 42 +++++++++++++++-------------------
hw/riscv/microchip_pfsoc.c     |  6 +++--
hw/riscv/sifive_e.c            |  8 ++++---
7 files changed, 52 insertions(+), 55 deletions(-)
[PATCH 0/7] Fix some -device T,help crashes
Posted by alistair23@gmail.com 3 weeks, 5 days ago
From: Alistair Francis <alistair.francis@wdc.com>

Markus reported the following

"""
Watch this:

    $ qemu-system-aarch64 -S -display none -M virt -device acpi-ged,help
    qemu-system-aarch64: ../hw/core/qdev.c:858: qdev_get_machine: Assertion `dev' failed.

A number of devices crash this way:

* acpi-ged (aarch64 arm i386 loongarch64 x86_64)
* fsl-imx6 (aarch64 arm)
* fsl-imx7 (aarch64 arm)
* fsl-imx8mp (aarch64)
* microchip.pfsoc (riscv64)
* riscv.sifive.e.soc (riscv32 riscv64)
* xlnx-zynqmp (aarch64)
"""

This series fixes the crashes

Alistair Francis (7):
  hw/riscv: sifive_e: Don't call qdev_get_machine in soc init
  hw/riscv: microchip_pfsoc: Don't call qdev_get_machine in soc init
  hw/arm: xlnx-zynqmp: Don't call qdev_get_machine in soc init
  hw/arm: fsl-imx7: Don't call qdev_get_machine in soc init
  hw/arm: fsl-imx8mp: Don't call qdev_get_machine in soc init
  hw/arm: fsl-imx6: Don't call qdev_get_machine in soc init
  hw/acpi: generic_event_device: Don't call qdev_get_machine in soc init

 hw/acpi/generic_event_device.c |  5 ++--
 hw/arm/fsl-imx6.c              | 14 ++++++------
 hw/arm/fsl-imx7.c              | 19 ++++++++-------
 hw/arm/fsl-imx8mp.c            | 13 +++++------
 hw/arm/xlnx-zynqmp.c           | 42 +++++++++++++++-------------------
 hw/riscv/microchip_pfsoc.c     |  6 +++--
 hw/riscv/sifive_e.c            |  8 ++++---
 7 files changed, 52 insertions(+), 55 deletions(-)

-- 
2.53.0
Re: [PATCH 0/7] Fix some -device T,help crashes
Posted by Markus Armbruster 3 weeks, 5 days ago
alistair23@gmail.com writes:

> From: Alistair Francis <alistair.francis@wdc.com>
>
> Markus reported the following
>
> """
> Watch this:
>
>     $ qemu-system-aarch64 -S -display none -M virt -device acpi-ged,help
>     qemu-system-aarch64: ../hw/core/qdev.c:858: qdev_get_machine: Assertion `dev' failed.

The comment right before the assertion explains:

        /*
         * Any call to this function before machine is created is treated
         * as a programming error as of now.
         */

i.e. we're talking about straightforward programming errors.

> A number of devices crash this way:
>
> * acpi-ged (aarch64 arm i386 loongarch64 x86_64)
> * fsl-imx6 (aarch64 arm)
> * fsl-imx7 (aarch64 arm)
> * fsl-imx8mp (aarch64)
> * microchip.pfsoc (riscv64)
> * riscv.sifive.e.soc (riscv32 riscv64)
> * xlnx-zynqmp (aarch64)
> """
>
> This series fixes the crashes

Series
Tested-by: Markus Armbruster <armbru@redhat.com>