qemu/include/hw
Paolo Bonzini 352e8da743 qdev: correctly send DEVICE_DELETED for recursively-deleted devices
When a device is unparented (i.e. made completely hidden from management)
we want to send a DEVICE_DELETED event only if the device actually was
realized.  This avoids raising DEVICE_DELETED events when device_add
fails.

However, this does not work right for recursively-deleted
devices: the whole tree is _first_ unrealized, _then_ unparented.
Then device_unparent sees realized==false and fails to trigger
the event.  The solution is simply to move have_realized into
the DeviceState struct.  If device_add fails, we never set the
new field to true and DEVICE_DELETED is not sent.

Fixes qemu-iotests testcase 067 (broken by commit 5942a19, though that
commit in turn fixed a possible segfault in the same test).

Reported-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2014-07-01 10:20:42 +02:00
..
acpi acpi: rephrase comment 2014-06-19 18:44:22 +03:00
arm i2c: Rename i2c_bus to I2CBus 2014-02-14 16:22:31 +01:00
audio
block qdev: Add enum property types to QAPI schema 2014-02-14 21:12:05 +01:00
char hw/arm/digic: add UART support 2013-12-17 20:12:51 +00:00
cpu icc_bus: QOM'ify ICC 2013-12-24 18:02:18 +01:00
cris cris: Remove the CRIS PIC glue 2014-02-03 14:04:00 +00:00
i2c smbus: return -1 if nothing found at the given address 2014-05-07 19:14:46 +03:00
i386 pc: Fix "prog_if" typo on PC_COMPAT_2_0 2014-06-29 18:59:07 +03:00
input input: switch hid mouse and tablet to the new input layer api. 2014-05-26 08:42:43 +02:00
intc arm: vgic device control api support 2014-02-26 17:20:00 +00:00
ipack ipack: Move IndustryPack out of hw/char/ 2014-02-14 21:11:53 +01:00
isa i2c: Rename i2c_bus to I2CBus 2014-02-14 16:22:31 +01:00
kvm
lm32
m68k
mem qmp: add query-memory-devices command 2014-06-19 18:44:22 +03:00
mips hw/mips: Add API to convert KVM guest KSEG0 <-> GPA 2014-06-18 16:58:10 +02:00
misc vfio: Add vfio_container_ioctl() 2014-06-27 13:48:23 +02:00
net allwinner-emac: set autonegotiation complete bit on link up 2014-04-17 21:34:06 +01:00
nvram sun4m: Set HostID in NVRAM 2014-02-27 10:01:40 +00:00
pci hw/pcie: implement power controller functionality 2014-06-23 17:48:42 +03:00
pci-host spapr_pci: Use XICS interrupt allocator and do not cache interrupts in PHB 2014-06-27 13:48:27 +02:00
ppc spapr_pci: Use XICS interrupt allocator and do not cache interrupts in PHB 2014-06-27 13:48:27 +02:00
s390x s390x/virtio-ccw: wire up irq routing and irqfds 2014-05-20 13:05:58 +02:00
scsi scsi: Fix migration of scsi sense data 2014-03-14 10:06:55 +01:00
sh4
sparc
timer allwinner-a10-pit: implement prescaler and source selection 2014-04-17 21:34:06 +01:00
unicore32
usb usb: move ehci register defines to header file 2014-06-02 16:28:59 +02:00
virtio virtio: memory accessors for endian-ambivalent targets 2014-06-29 19:39:42 +03:00
xen xen-hvm: Fix xen_hvm_init() to adjust pc memory layout 2014-06-23 17:50:04 +03:00
boards.h numa: introduce memory_region_allocate_system_memory 2014-06-19 18:44:19 +03:00
bt.h
devices.h
elf_ops.h elf-loader: add more return codes 2014-03-05 03:06:46 +01:00
empty_slot.h
fw-path-provider.h fw-path-provider: Change GPL version to 2+ 2014-04-07 15:36:07 +02:00
hotplug.h define hotplug interface 2014-02-10 10:23:35 +02:00
hw.h
ide.h Call pci_piix3_xen_ide_unplug from unplug_disks 2014-02-20 17:28:08 +00:00
irq.h
loader.h pc: avoid duplicate names for ROM MRs 2014-03-11 13:25:48 +02:00
pcmcia.h pcmcia: QOM'ify PCMCIACardState and MicroDriveState 2013-11-05 18:06:52 +01:00
ptimer.h vmstate: Make VMSTATE_STRUCT_POINTER take type, not ptr-to-type 2014-02-04 15:51:45 +01:00
qdev-core.h qdev: correctly send DEVICE_DELETED for recursively-deleted devices 2014-07-01 10:20:42 +02:00
qdev-dma.h qdev: Remove hex8/32/64 property types 2014-02-14 21:12:04 +01:00
qdev-properties.h qdev: Display warning about unused -global 2014-06-05 19:20:37 +03:00
qdev.h
sd.h
ssi.h ssi: Name the CS GPIO 2014-05-28 17:36:21 +02:00
stream.h
sysbus.h
usb.h usb: add usb_pick_speed 2014-06-02 16:29:00 +02:00