[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 00/24] qdev properties final installment: push, push
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PATCH 00/24] qdev properties final installment: push, push! |
Date: |
Wed, 11 Apr 2012 23:29:29 +0200 |
This is the final installment of the qdev property cleanup. It
includes the following parts:
* various bits of state are moved from DeviceState to Object:
state (aka realized), reset, static properties, and the simple
"type" property
* bus properties are replaced with superclass properties
The series has many parts; they are logically separate, but because
of dependencies it would take too much time to submit them one by
one. In fact, to avoid conflicts, and because his patchset does not
apply anymore, I took the liberty to include here Michael Roth's patches
for uint*_t and int*_t visitors.
Patches 1 to 5 are small preparatory changes in QOM.
Patches 6 and 7 are bonus bugfixes.
Patches 8 to 12 refactor bus properties.
Patches 13 to 17 are Michael's patches + two cleanups.
Patches 18 to 21 push static properties from qdev to Object. As you
can see from the diffstat below, this has to touch a lot of files.
Patches 22 to 24 implement the realized property and reimplement
qdev's object lifecycle in terms of realize/unrealize.
v1->v2: reorganized for bisectability, added SoB for Andreas
Michael Roth (3):
qapi: add Visitor interfaces for uint*_t and int*_t
qdev: use int32_t container for devfn property
qdev: switch property accessors to fixed-width visitor interfaces
Paolo Bonzini (21):
qom: add object_class_get_parent
qom: add object_child_foreach
qom: add class_base_init
qom: make Object a type
qdev: push "type" property up to Object
qdev: fix -device foo,?
qdev: use object_property_print in info qtree
qdev: move bus properties to a separate global
qdev: do not propagate properties to subclasses
qdev: move bus properties to abstract superclasses
qdev: clean up global properties
qdev: remove qdev_prop_set_defaults
qdev: remove PropertyInfo range checking
qdev: remove qdev_prop_exists
qdev: push state up to Object
qdev: generalize properties to Objects
qdev: move bulk of qdev-properties.c to qom/object.c
qom: push static properties to Object
qom: add realized property
qdev: implement qdev_init on top of realize
qdev: split part of device_finalize to device_unrealize
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_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 | 4 +-
hw/hpet.c | 2 +-
hw/i2c.c | 10 +-
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 | 16 +-
hw/integratorcp.c | 3 +-
hw/intel-hda.c | 12 +-
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 | 9 +-
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_piix.c | 12 +-
hw/pc_sysfw.c | 2 +-
hw/pci.c | 24 +-
hw/pci.h | 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 | 26 +-
hw/qdev-monitor.c | 46 ++-
hw/qdev-properties.c | 683 ++++++-----------------------------------
hw/qdev.c | 152 ++++-----
hw/qdev.h | 109 +------
hw/qxl.c | 4 +-
hw/rtl8139.c | 2 +-
hw/s390-virtio-bus.c | 12 +-
hw/sb16.c | 2 +-
hw/scsi-bus.c | 16 +-
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 | 10 +-
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 | 11 +-
hw/usb/dev-audio.c | 2 +-
hw/usb/dev-network.c | 2 +-
hw/usb/dev-serial.c | 4 +-
hw/usb/dev-smartcard-reader.c | 12 +-
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 | 12 +-
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 | 182 ++++++++++-
qapi/qapi-visit-core.c | 139 +++++++++
qapi/qapi-visit-core.h | 16 +
qom/object.c | 681 ++++++++++++++++++++++++++++++++++++++--
147 files changed, 1427 insertions(+), 1102 deletions(-)
--
1.7.9.3
- [Qemu-devel] [PATCH 00/24] qdev properties final installment: push, push!,
Paolo Bonzini <=
- [Qemu-devel] [PATCH v2 01/24] qom: add object_class_get_parent, Paolo Bonzini, 2012/04/11
- [Qemu-devel] [PATCH v2 02/24] qom: add object_child_foreach, Paolo Bonzini, 2012/04/11
- [Qemu-devel] [PATCH v2 03/24] qom: add class_base_init, Paolo Bonzini, 2012/04/11
- [Qemu-devel] [PATCH v2 04/24] qom: make Object a type, Paolo Bonzini, 2012/04/11
- Re: [Qemu-devel] [PATCH v2 04/24] qom: make Object a type, Andreas Färber, 2012/04/12