diff options
author | Thomas Huth | 2018-07-23 16:21:27 +0200 |
---|---|---|
committer | Peter Maydell | 2018-07-23 16:21:27 +0200 |
commit | 1ddc9b98c3cb89fe23a55ba924000fd645253e87 (patch) | |
tree | e3db5b21f07e6ddf1063b9945bde4e94195e12c0 /qga/vss-win32/install.cpp | |
parent | hw/arm/spitz: Move problematic nand_init() code to realize function (diff) | |
download | qemu-1ddc9b98c3cb89fe23a55ba924000fd645253e87.tar.gz qemu-1ddc9b98c3cb89fe23a55ba924000fd645253e87.tar.xz qemu-1ddc9b98c3cb89fe23a55ba924000fd645253e87.zip |
hw/intc/exynos4210_gic: Turn instance_init into realize function
The instance_init function of the "exynos4210.gic" device creates a
new "arm_gic" device and immediately realizes it with qdev_init_nofail().
This will leave a lot of object in the QOM tree during introspection of
the "exynos4210.gic" device, e.g. reproducible by starting QEMU like this:
qemu-system-aarch64 -M none -nodefaults -nographic -monitor stdio
And then by running "info qom-tree" at the HMP monitor, followed by
"device_add exynos4210.gic,help" and finally checking "info qom-tree"
again.
Also note that qdev_init_nofail() can exit QEMU in case of errors - and
this must never happen during an instance_init function, otherwise QEMU
could terminate unexpectedly during introspection of a device.
Since most of the code that follows the qdev_init_nofail() depends on
the realized "gicbusdev", the easiest solution to the problem is to
turn the whole instance_init function into a realize function instead.
Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-id: 1532337784-334-1-git-send-email-thuth@redhat.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'qga/vss-win32/install.cpp')
0 files changed, 0 insertions, 0 deletions