diff options
author | Philippe Mathieu-Daudé <philmd@linaro.org> | 2023-10-19 12:01:59 +0200 |
---|---|---|
committer | Philippe Mathieu-Daudé <philmd@linaro.org> | 2023-10-20 14:46:07 +0200 |
commit | e45abc2bb958d4780fa56bc10049f604408c2c96 (patch) | |
tree | f0c04232109b721a946c2535f454fddf8b393c3d | |
parent | 705000674b9df27cc80328e83d3825dc5ee3d6d6 (diff) | |
download | qemu-e45abc2bb958d4780fa56bc10049f604408c2c96.zip qemu-e45abc2bb958d4780fa56bc10049f604408c2c96.tar.gz qemu-e45abc2bb958d4780fa56bc10049f604408c2c96.tar.bz2 |
hw/ppc/spapr_vio: Realize SPAPR_VIO_BRIDGE device before accessing it
qbus_new() should not be called on unrealized device.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20231019131647.19690-2-philmd@linaro.org>
-rw-r--r-- | hw/ppc/spapr_vio.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/hw/ppc/spapr_vio.c b/hw/ppc/spapr_vio.c index 9d4fec2..f8ef2b6 100644 --- a/hw/ppc/spapr_vio.c +++ b/hw/ppc/spapr_vio.c @@ -574,13 +574,14 @@ SpaprVioBus *spapr_vio_bus_init(void) /* Create bridge device */ dev = qdev_new(TYPE_SPAPR_VIO_BRIDGE); - sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); /* Create bus on bridge device */ qbus = qbus_new(TYPE_SPAPR_VIO_BUS, dev, "spapr-vio"); bus = SPAPR_VIO_BUS(qbus); bus->next_reg = SPAPR_VIO_REG_BASE; + sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); + /* hcall-vio */ spapr_register_hypercall(H_VIO_SIGNAL, h_vio_signal); |