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 | |
parent | 560c30b1db1d40fe45c5104185367c4de43399d3 (diff) | |
parent | ebe8b9c6eb6e425d44805288b6b5dabd69368f46 (diff) |
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')
-rw-r--r-- | hw/Makefile.objs | 9 | ||||
-rw-r--r-- | hw/qdev.c | 8 |
2 files changed, 12 insertions, 5 deletions
diff --git a/hw/Makefile.objs b/hw/Makefile.objs index b8bbed39c1..6b8a68c504 100644 --- a/hw/Makefile.objs +++ b/hw/Makefile.objs @@ -1,3 +1,9 @@ +# core qdev-related obj files, also used by *-user: +hw-core-obj-y += qdev.o qdev-properties.o +# irq.o needed for qdev GPIO handling: +hw-core-obj-y += irq.o + + common-obj-y = usb/ ide/ pci/ common-obj-y += loader.o common-obj-$(CONFIG_VIRTIO) += virtio-console.o @@ -154,7 +160,6 @@ common-obj-$(CONFIG_SOUND) += $(sound-obj-y) common-obj-$(CONFIG_REALLY_VIRTFS) += 9pfs/ common-obj-y += usb/ -common-obj-y += irq.o common-obj-$(CONFIG_PTIMER) += ptimer.o common-obj-$(CONFIG_MAX7310) += max7310.o common-obj-$(CONFIG_WM8750) += wm8750.o @@ -180,7 +185,7 @@ common-obj-$(CONFIG_SD) += sd.o common-obj-y += bt.o bt-l2cap.o bt-sdp.o bt-hci.o bt-hid.o common-obj-y += bt-hci-csr.o common-obj-y += msmouse.o ps2.o -common-obj-y += qdev.o qdev-properties.o qdev-monitor.o +common-obj-y += qdev-monitor.o common-obj-y += qdev-properties-system.o common-obj-$(CONFIG_BRLAPI) += baum.o @@ -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) |