Hello Anthony, This is my fixed QOM (devices) patch queue. Please pull.
Happy holidays, Andreas P.S. I reproducibly get a signal message: TEST: tests/acpi-test... (pid=6364) /i386/acpi/tcg: main-loop: WARNING: I/O thread spun for 1000 iterations qemu: terminating on signal 15 from pid 6364 OK PASS: tests/acpi-test both before and after the queue. Cc: Anthony Liguori <anth...@codemonkey.ws> Cc: Edgar E. Iglesias <edgar.igles...@gmail.com> Cc: Markus Armbruster <arm...@redhat.com> Cc: Stefan Hajnoczi <stefa...@redhat.com> Cc: Paolo Bonzini <pbonz...@redhat.com> Cc: xiaoqiang zhao <zxq_yx_...@163.com> Cc: Hervé Poussineau <hpous...@reactos.org> Cc: Igor Mammedov <imamm...@redhat.com> Cc: Peter Crosthwaite <peter.crosthwa...@xilinx.com> Cc: Alexey Kardashevskiy <a...@ozlabs.ru> Cc: Chen Fan <chen.fan.f...@cn.fujitsu.com> The following changes since commit f976b09ea249cccc3fd41c98aaf6512908db0bae: PPC: Fix compilation with TCG debug (2013-12-22 19:15:55 +0100) are available in the git repository at: git://github.com/afaerber/qemu-cpu.git tags/qom-devices-for-anthony for you to fetch changes up to 11c308b17a34932033cceca4f88b5e67009e3ebd: qdev-monitor: Improve error message for -device nonexistant (2013-12-24 18:02:18 +0100) ---------------------------------------------------------------- QOM infrastructure fixes and device conversions * QOM interface fixes and unit test * Device no_user sanitization and documentation * Device error reporting improvement * Conversion of APIC, ICC, IOAPIC to QOM realization model ---------------------------------------------------------------- Hervé Poussineau (1): qom: Detect bad reentrance during object_class_foreach() Igor Mammedov (1): tests: Test QOM interface casting Markus Armbruster (14): qdev: Replace no_user by cannot_instantiate_with_device_add_yet sysbus: Set cannot_instantiate_with_device_add_yet cpu: Document why cannot_instantiate_with_device_add_yet apic: Document why cannot_instantiate_with_device_add_yet pci-host: Consistently set cannot_instantiate_with_device_add_yet ich9: Document why cannot_instantiate_with_device_add_yet piix3 piix4: Clean up use of cannot_instantiate_with_device_add_yet vt82c686: Clean up use of cannot_instantiate_with_device_add_yet isa: Clean up use of cannot_instantiate_with_device_add_yet qdev: Do not let the user try to device_add when it cannot work qdev-monitor: Avoid device_add crashing on non-device driver name hw: cannot_instantiate_with_device_add_yet due to pointer props qdev: Document that pointer properties kill device_add qdev-monitor: Improve error message for -device nonexistant Paolo Bonzini (1): qom: Do not register interface "types" in the type table and fix names Peter Crosthwaite (1): qom: Split out object and class caches Stefan Hajnoczi (1): qdev: Drop misleading qbus_free() function xiaoqiang zhao (5): apic: Cleanup for QOM'ification apic: QOM'ify APIC icc_bus: QOM'ify ICC ioapic: Cleanup for QOM'ification ioapic: QOM'ify ioapic hw/acpi/piix4.c | 6 ++- hw/alpha/typhoon.c | 2 - hw/arm/versatilepb.c | 1 - hw/audio/marvell_88w8618.c | 2 + hw/audio/pcspk.c | 3 +- hw/audio/pl041.c | 1 - hw/block/fdc.c | 1 - hw/core/qdev.c | 7 +-- hw/core/sysbus.c | 7 +++ hw/cpu/icc_bus.c | 14 +++-- hw/display/pl110.c | 1 - hw/dma/pl080.c | 1 - hw/dma/sparc32_dma.c | 2 + hw/gpio/omap_gpio.c | 4 ++ hw/i2c/omap_i2c.c | 2 + hw/i2c/smbus_eeprom.c | 2 + hw/i2c/smbus_ich9.c | 6 ++- hw/i386/kvm/apic.c | 14 ++--- hw/i386/kvm/clock.c | 1 - hw/i386/kvm/ioapic.c | 8 +-- hw/i386/kvmvapic.c | 1 - hw/i386/pc.c | 7 ++- hw/ide/piix.c | 3 -- hw/ide/via.c | 1 - hw/input/pckbd.c | 1 - hw/input/vmmouse.c | 3 +- hw/intc/apic.c | 48 ++++++++--------- hw/intc/apic_common.c | 79 ++++++++++++++-------------- hw/intc/arm_gic.c | 1 - hw/intc/arm_gic_common.c | 1 - hw/intc/arm_gic_kvm.c | 1 - hw/intc/etraxfs_pic.c | 4 ++ hw/intc/grlib_irqmp.c | 2 + hw/intc/i8259_common.c | 8 ++- hw/intc/ioapic.c | 13 +++-- hw/intc/ioapic_common.c | 16 ++++-- hw/intc/omap_intc.c | 4 ++ hw/intc/pl190.c | 1 - hw/isa/isa-bus.c | 1 - hw/isa/lpc_ich9.c | 7 ++- hw/isa/piix4.c | 6 ++- hw/isa/vt82c686.c | 6 ++- hw/mips/gt64xxx_pci.c | 6 +++ hw/misc/arm_l2x0.c | 1 - hw/misc/vmport.c | 3 +- hw/net/etraxfs_eth.c | 2 + hw/net/lance.c | 2 + hw/nvram/fw_cfg.c | 1 - hw/pci-bridge/dec.c | 6 +++ hw/pci-host/apb.c | 6 +++ hw/pci-host/bonito.c | 8 +-- hw/pci-host/grackle.c | 8 +-- hw/pci-host/piix.c | 19 +++++-- hw/pci-host/ppce500.c | 5 ++ hw/pci-host/prep.c | 7 ++- hw/pci-host/q35.c | 5 ++ hw/pci-host/uninorth.c | 24 +++++++++ hw/pci-host/versatile.c | 6 +++ hw/pci/pci_bridge.c | 2 +- hw/ppc/ppc4xx_pci.c | 5 ++ hw/ppc/spapr_vio.c | 2 - hw/s390x/ipl.c | 1 - hw/s390x/s390-virtio-bus.c | 2 - hw/s390x/virtio-ccw.c | 2 - hw/sd/pl181.c | 1 - hw/sh4/sh_pci.c | 6 +++ hw/timer/arm_mptimer.c | 1 - hw/timer/hpet.c | 1 - hw/timer/i8254_common.c | 7 ++- hw/timer/m48t59.c | 3 +- hw/timer/mc146818rtc.c | 3 +- hw/timer/pl031.c | 1 - hw/xen/xen_apic.c | 6 ++- include/hw/cpu/icc_bus.h | 2 +- include/hw/i386/apic_internal.h | 2 +- include/hw/i386/ioapic_internal.h | 3 +- include/hw/qdev-core.h | 15 ++++-- include/hw/qdev-properties.h | 17 ++++++ include/qom/object.h | 4 +- qdev-monitor.c | 15 ++++-- qom/cpu.c | 6 ++- qom/object.c | 50 ++++++++++++------ tests/Makefile | 6 ++- tests/check-qom-interface.c | 105 ++++++++++++++++++++++++++++++++++++++ 84 files changed, 493 insertions(+), 183 deletions(-) create mode 100644 tests/check-qom-interface.c