[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH qom-next v2 0/7] QOM realize, revised again
From: |
Andreas Färber |
Subject: |
[Qemu-devel] [PATCH qom-next v2 0/7] QOM realize, revised again |
Date: |
Sun, 10 Jun 2012 03:09:02 +0200 |
Hello Anthony and Paolo,
This is our QOM remainder from the freeze, please review.
v1 -> v2:
* Reverted Object state enum to bool realized, as requested by Anthony.
This means we have no way of detecting if an object was initialized,
but that feature was unused so far.
* Use gtk-doc Returns: in object_is_realized() documentation.
* Reordered realize next, so that it can be applied w/o static properties
in case issues remain with my get_id workaround.
* Reverted object_get_realize() to use bool realized directly.
* Fixed typo in object_unrealize_children() documentation.
* Dropped get_id patch nack'ed by Anthony.
* Rebased following patches, resorting to "" or object_get_typename().
* Dropped two hunks in QERR_... patch mistakenly added by Paolo.
One observation I make is that object_[un]realize_children() are made public.
Hard to judge whether that is really necessary in lack of follow-up patches.
I thus left that unchanged; for CPU reset I was instructed not to expose such
base methods but to save them in the class (e.g., ARMCPUClass::parent_reset).
That could still be cleaned up in a later patch.
Available for viewing/testing at:
https://github.com/afaerber/qemu-cpu/commits/realize
Regards,
Andreas
Cc: Anthony Liguori <address@hidden>
Cc: Paolo Bonzini <address@hidden>
Cc: Peter Maydell <address@hidden>
Cc: Jan Kiszka <address@hidden> (FYI)
Andreas Färber (2):
make_device_config.sh: Fix target path in generated dependency file
qom: Add "realized" property
Paolo Bonzini (4):
qdev: Push state up to Object
qdev: Generalize properties to Objects
qdev: Move bulk of qdev-properties.c to qom/object-properties.c
qom: Push static properties to Object
Peter Maydell (1):
qom: Add QERR_PROPERTY_SET_AFTER_REALIZE
hw/9pfs/virtio-9p-device.c | 2 +-
hw/a15mpcore.c | 3 +-
hw/a9mpcore.c | 2 +-
hw/ac97.c | 2 +-
hw/acpi_piix4.c | 2 +-
hw/apic_common.c | 2 +-
hw/applesmc.c | 2 +-
hw/arm11mpcore.c | 6 +-
hw/arm_gic.c | 2 +-
hw/arm_l2x0.c | 2 +-
hw/arm_mptimer.c | 2 +-
hw/arm_sysctl.c | 2 +-
hw/arm_timer.c | 3 +-
hw/armv7m.c | 3 +-
hw/armv7m_nvic.c | 2 +-
hw/cadence_gem.c | 2 +-
hw/ccid-card-emulated.c | 2 +-
hw/ccid-card-passthru.c | 2 +-
hw/cs4231.c | 2 +-
hw/cs4231a.c | 2 +-
hw/debugcon.c | 3 +-
hw/ds1225y.c | 2 +-
hw/e1000.c | 2 +-
hw/eccmemctl.c | 2 +-
hw/eepro100.c | 2 +-
hw/escc.c | 2 +-
hw/esp.c | 2 +-
hw/etraxfs_eth.c | 3 +-
hw/etraxfs_pic.c | 3 +-
hw/exynos4210_combiner.c | 2 +-
hw/exynos4210_gic.c | 3 +-
hw/exynos4210_uart.c | 2 +-
hw/fdc.c | 6 +-
hw/fw_cfg.c | 2 +-
hw/g364fb.c | 2 +-
hw/grlib_apbuart.c | 3 +-
hw/grlib_gptimer.c | 2 +-
hw/grlib_irqmp.c | 2 +-
hw/gus.c | 2 +-
hw/hda-audio.c | 6 +-
hw/hpet.c | 2 +-
hw/i2c.c | 2 +-
hw/i82374.c | 2 +-
hw/i82378.c | 2 +-
hw/i8254.c | 2 +-
hw/i8259_common.c | 2 +-
hw/ide/ahci.c | 2 +-
hw/ide/cmd646.c | 3 +-
hw/ide/isa.c | 2 +-
hw/ide/qdev.c | 8 +-
hw/integratorcp.c | 3 +-
hw/intel-hda.c | 4 +-
hw/ioh3420.c | 2 +-
hw/ivshmem.c | 2 +-
hw/kvm/i8254.c | 2 +-
hw/kvm/ioapic.c | 2 +-
hw/lan9118.c | 2 +-
hw/lance.c | 2 +-
hw/lm32_sys.c | 2 +-
hw/lm32_timer.c | 2 +-
hw/m48t59.c | 4 +-
hw/marvell_88w8618_audio.c | 2 +-
hw/mc146818rtc.c | 2 +-
hw/milkymist-minimac2.c | 2 +-
hw/milkymist-softusb.c | 2 +-
hw/milkymist-sysctl.c | 2 +-
hw/milkymist-vgafb.c | 2 +-
hw/mipsnet.c | 2 +-
hw/musicpal.c | 2 +-
hw/nand.c | 2 +-
hw/ne2000-isa.c | 3 +-
hw/ne2000.c | 2 +-
hw/omap_gpio.c | 4 +-
hw/omap_i2c.c | 2 +-
hw/omap_intc.c | 4 +-
hw/onenand.c | 2 +-
hw/opencores_eth.c | 2 +-
hw/parallel.c | 3 +-
hw/pc_sysfw.c | 2 +-
hw/pci.c | 2 +-
hw/pci_bridge_dev.c | 2 +-
hw/pcnet-pci.c | 2 +-
hw/pcspk.c | 2 +-
hw/pl041.c | 2 +-
hw/pxa2xx.c | 2 +-
hw/pxa2xx_dma.c | 2 +-
hw/pxa2xx_gpio.c | 2 +-
hw/pxa2xx_timer.c | 4 +-
hw/qdev-addr.c | 22 +-
hw/qdev-monitor.c | 4 +-
hw/qdev-properties.c | 602 +++++++----------------------------------
hw/qdev.c | 78 +-----
hw/qdev.h | 98 +-------
hw/qxl.c | 4 +-
hw/rtl8139.c | 2 +-
hw/s390-virtio-bus.c | 12 +-
hw/sb16.c | 2 +-
hw/scsi-bus.c | 2 +-
hw/scsi-disk.c | 8 +-
hw/scsi-generic.c | 2 +-
hw/serial.c | 2 +-
hw/slavio_timer.c | 2 +-
hw/smbus_eeprom.c | 3 +-
hw/smc91c111.c | 2 +-
hw/spapr_llan.c | 3 +-
hw/spapr_pci.c | 3 +-
hw/spapr_vio.c | 2 +-
hw/spapr_vscsi.c | 3 +-
hw/spapr_vty.c | 3 +-
hw/sparc32_dma.c | 2 +-
hw/spitz.c | 4 +-
hw/stellaris_enet.c | 3 +-
hw/strongarm.c | 2 +-
hw/sun4m.c | 6 +-
hw/sun4m_iommu.c | 2 +-
hw/sun4u.c | 6 +-
hw/tcx.c | 2 +-
hw/usb/bus.c | 2 +-
hw/usb/dev-audio.c | 2 +-
hw/usb/dev-network.c | 2 +-
hw/usb/dev-serial.c | 4 +-
hw/usb/dev-smartcard-reader.c | 4 +-
hw/usb/dev-storage.c | 2 +-
hw/usb/hcd-ehci.c | 4 +-
hw/usb/hcd-ohci.c | 4 +-
hw/usb/hcd-uhci.c | 12 +-
hw/usb/hcd-xhci.c | 2 +-
hw/usb/host-linux.c | 2 +-
hw/usb/redirect.c | 2 +-
hw/virtio-console.c | 6 +-
hw/virtio-pci.c | 10 +-
hw/virtio-serial-bus.c | 2 +-
hw/vmmouse.c | 2 +-
hw/vt82c686.c | 2 +-
hw/xgmac.c | 2 +-
hw/xilinx_axidma.c | 3 +-
hw/xilinx_axienet.c | 3 +-
hw/xilinx_ethlite.c | 3 +-
hw/xilinx_intc.c | 3 +-
hw/xilinx_timer.c | 3 +-
hw/xio3130_downstream.c | 2 +-
hw/xio3130_upstream.c | 2 +-
hw/zaurus.c | 2 +-
include/qemu/object.h | 130 +++++++++
qerror.c | 4 +
qerror.h | 3 +
qom/Makefile.objs | 2 +-
qom/object-properties.c | 469 ++++++++++++++++++++++++++++++++
qom/object.c | 116 ++++++++
scripts/make_device_config.sh | 2 +-
150 files changed, 1015 insertions(+), 900 deletions(-)
create mode 100644 qom/object-properties.c
--
1.7.7
- [Qemu-devel] [PATCH qom-next v2 0/7] QOM realize, revised again,
Andreas Färber <=
- [Qemu-devel] [PATCH qom-next v2 1/7] make_device_config.sh: Fix target path in generated dependency file, Andreas Färber, 2012/06/09
- [Qemu-devel] [PATCH qom-next v2 2/7] qdev: Push state up to Object, Andreas Färber, 2012/06/09
- [Qemu-devel] [PATCH qom-next v2 3/7] qom: Add "realized" property, Andreas Färber, 2012/06/09
- [Qemu-devel] [PATCH qom-next v2 4/7] qdev: Generalize properties to Objects, Andreas Färber, 2012/06/09
- [Qemu-devel] [PATCH qom-next v2 5/7] qdev: Move bulk of qdev-properties.c to qom/object-properties.c, Andreas Färber, 2012/06/09
- [Qemu-devel] [PATCH qom-next v2 7/7] qom: Add QERR_PROPERTY_SET_AFTER_REALIZE, Andreas Färber, 2012/06/09
- [Qemu-devel] [PATCH qom-next v2 6/7] qom: Push static properties to Object, Andreas Färber, 2012/06/10