mirror of https://github.com/xemu-project/xemu.git
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>
This commit is contained in:
parent
705000674b
commit
e45abc2bb9
|
@ -574,13 +574,14 @@ SpaprVioBus *spapr_vio_bus_init(void)
|
||||||
|
|
||||||
/* Create bridge device */
|
/* Create bridge device */
|
||||||
dev = qdev_new(TYPE_SPAPR_VIO_BRIDGE);
|
dev = qdev_new(TYPE_SPAPR_VIO_BRIDGE);
|
||||||
sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
|
|
||||||
|
|
||||||
/* Create bus on bridge device */
|
/* Create bus on bridge device */
|
||||||
qbus = qbus_new(TYPE_SPAPR_VIO_BUS, dev, "spapr-vio");
|
qbus = qbus_new(TYPE_SPAPR_VIO_BUS, dev, "spapr-vio");
|
||||||
bus = SPAPR_VIO_BUS(qbus);
|
bus = SPAPR_VIO_BUS(qbus);
|
||||||
bus->next_reg = SPAPR_VIO_REG_BASE;
|
bus->next_reg = SPAPR_VIO_REG_BASE;
|
||||||
|
|
||||||
|
sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
|
||||||
|
|
||||||
/* hcall-vio */
|
/* hcall-vio */
|
||||||
spapr_register_hypercall(H_VIO_SIGNAL, h_vio_signal);
|
spapr_register_hypercall(H_VIO_SIGNAL, h_vio_signal);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue