qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Andreas Färber" <afaerber@suse.de>
To: qemu-devel@nongnu.org
Cc: "Paolo Bonzini" <pbonzini@redhat.com>,
	"Jan Kiszka" <jan.kiszka@siemens.com>,
	"Andreas Färber" <afaerber@suse.de>,
	"Anthony Liguori" <anthony@codemonkey.ws>,
	"Peter Maydell" <peter.maydell@linaro.org>
Subject: [Qemu-devel] [PATCH qom-next v2 0/7] QOM realize, revised again
Date: Sun, 10 Jun 2012 03:09:02 +0200	[thread overview]
Message-ID: <1339290549-3789-1-git-send-email-afaerber@suse.de> (raw)

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 <anthony@codemonkey.ws>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Peter Maydell <peter.maydell@linaro.org>

Cc: Jan Kiszka <jan.kiszka@siemens.com> (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

             reply	other threads:[~2012-06-10  1:09 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-10  1:09 Andreas Färber [this message]
2012-06-10  1:09 ` [Qemu-devel] [PATCH qom-next v2 1/7] make_device_config.sh: Fix target path in generated dependency file Andreas Färber
2012-06-10  1:50   ` Andreas Färber
2012-06-10  1:09 ` [Qemu-devel] [PATCH qom-next v2 2/7] qdev: Push state up to Object Andreas Färber
2012-06-10  1:09 ` [Qemu-devel] [PATCH qom-next v2 3/7] qom: Add "realized" property Andreas Färber
2012-06-10  1:09 ` [Qemu-devel] [PATCH qom-next v2 4/7] qdev: Generalize properties to Objects Andreas Färber
2012-06-10  1: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-10  1:09 ` [Qemu-devel] [PATCH qom-next v2 6/7] qom: Push static properties to Object Andreas Färber
2012-06-10  1:09 ` [Qemu-devel] [PATCH qom-next v2 7/7] qom: Add QERR_PROPERTY_SET_AFTER_REALIZE Andreas Färber

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1339290549-3789-1-git-send-email-afaerber@suse.de \
    --to=afaerber@suse.de \
    --cc=anthony@codemonkey.ws \
    --cc=jan.kiszka@siemens.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).