qemu-e2k/hw
Thomas Huth 1ddc9b98c3 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>
2018-07-23 15:21:27 +01:00
..
9pfs
acpi
adc
alpha
arm hw/arm/spitz: Move problematic nand_init() code to realize function 2018-07-23 15:21:26 +01:00
audio
block
bt
char Bug fixes. 2018-07-17 17:06:32 +01:00
core Bug fixes. 2018-07-17 17:06:32 +01:00
cpu hw/*/realview: Fix introspection problem with 'realview_mpcore' & 'realview_gic' 2018-07-17 13:12:49 +01:00
cris
display hw/display/xlnx_dp: Move problematic code from instance_init to realize 2018-07-17 13:12:49 +01:00
dma
gpio
hppa
i2c
i386 i386: only parse the initrd_filename once for multiboot modules 2018-07-17 16:24:50 +02:00
ide
input
intc hw/intc/exynos4210_gic: Turn instance_init into realize function 2018-07-23 15:21:27 +01:00
ipack
ipmi
isa
lm32
m68k
mem
microblaze hw/microblaze/xlnx-zynqmp-pmu: Fix introspection problem in 'xlnx, zynqmp-pmu-soc' 2018-07-23 15:21:25 +01:00
mips
misc Bug fixes. 2018-07-17 17:06:32 +01:00
moxie
net e1000e: Prevent MSI/MSI-X storms 2018-07-20 08:30:48 +08:00
nios2
nvram
openrisc
pci
pci-bridge
pci-host
pcmcia
ppc sam460ex: Correct use after free error 2018-07-16 11:18:32 +10:00
rdma
riscv spike: Fix crash when introspecting the device 2018-07-19 09:05:48 -07:00
s390x error: Remove NULL checks on error_propagate() calls 2018-07-11 14:36:54 +02:00
scsi virtio-scsi: fix hotplug ->reset() vs event race 2018-07-16 16:58:16 +02:00
sd hw/sd/bcm2835_sdhost: Fix PIO mode writes 2018-07-23 15:21:26 +01:00
sh4
smbios
sparc
sparc64
ssi
timer
tpm
tricore
unicore32
usb
vfio vfio/pci: do not set the PCIDevice 'has_rom' attribute 2018-07-11 13:43:57 -06:00
virtio
watchdog
xen
xenpv
xtensa
Makefile.objs