diff options
| author | Anthony Liguori <aliguori@us.ibm.com> | 2013-01-08 15:15:57 -0600 |
|---|---|---|
| committer | Anthony Liguori <aliguori@us.ibm.com> | 2013-01-08 15:15:57 -0600 |
| commit | 4b274b1603e1d15ef51aedc8b6b7ebbae0b555ce (patch) | |
| tree | 8fb03bac9a2c9988f97909f150c27df511b472de /hw/qdev.c | |
| parent | 560c30b1db1d40fe45c5104185367c4de43399d3 (diff) | |
| parent | ebe8b9c6eb6e425d44805288b6b5dabd69368f46 (diff) | |
| download | focaccia-qemu-4b274b1603e1d15ef51aedc8b6b7ebbae0b555ce.tar.gz focaccia-qemu-4b274b1603e1d15ef51aedc8b6b7ebbae0b555ce.zip | |
Merge remote-tracking branch 'afaerber/qom-cpu' into staging
* afaerber/qom-cpu: target-i386: Explicitly set vendor for each built-in cpudef target-i386: Sanitize AMD's ext2_features at realize time target-i386: Filter out unsupported features at realize time qemu-common.h: Make qemu_init_vcpu() stub static inline target-i386: check/enforce: Eliminate check_feat field target-i386: check/enforce: Check SVM flag support as well target-i386: check/enforce: Check all CPUID.80000001H.EDX bits target-i386: check/enforce: Do not ignore "hypervisor" flag target-i386: check/enforce: Fix CPUID leaf numbers on error messages target-i386: kvm: Enable all supported KVM features for -cpu host target-i386: kvm: -cpu host: Use GET_SUPPORTED_CPUID for SVM features cpu: Change parent type to Device qdev: Don't assume existence of parent bus on unparenting qdev: Include qdev code into *-user, too libqemustub: sysbus_get_default() stub libqemustub: vmstate register/unregister stubs libqemustub: Add qemu_[un]register_reset() stubs Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'hw/qdev.c')
| -rw-r--r-- | hw/qdev.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/hw/qdev.c b/hw/qdev.c index f2c248451c..e2a5c5735b 100644 --- a/hw/qdev.c +++ b/hw/qdev.c @@ -698,16 +698,18 @@ static void device_class_base_init(ObjectClass *class, void *data) klass->props = NULL; } -static void qdev_remove_from_bus(Object *obj) +static void device_unparent(Object *obj) { DeviceState *dev = DEVICE(obj); - bus_remove_child(dev->parent_bus, dev); + if (dev->parent_bus != NULL) { + bus_remove_child(dev->parent_bus, dev); + } } static void device_class_init(ObjectClass *class, void *data) { - class->unparent = qdev_remove_from_bus; + class->unparent = device_unparent; } void device_reset(DeviceState *dev) |