From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:34197) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RqphM-0003qN-BW for qemu-devel@nongnu.org; Fri, 27 Jan 2012 12:34:54 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RqphI-0007Ix-DC for qemu-devel@nongnu.org; Fri, 27 Jan 2012 12:34:52 -0500 Received: from mail-pz0-f45.google.com ([209.85.210.45]:64946) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RqphI-0007IW-46 for qemu-devel@nongnu.org; Fri, 27 Jan 2012 12:34:48 -0500 Received: by dajr28 with SMTP id r28so1997908daj.4 for ; Fri, 27 Jan 2012 09:34:47 -0800 (PST) Message-ID: <4F22E032.6060401@codemonkey.ws> Date: Fri, 27 Jan 2012 11:34:42 -0600 From: Anthony Liguori MIME-Version: 1.0 References: <1327433600-7403-1-git-send-email-aliguori@us.ibm.com> In-Reply-To: <1327433600-7403-1-git-send-email-aliguori@us.ibm.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v3 0/28] qom: add QEMU Object Model type hierarchy to qdev List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: qemu-devel@nongnu.org On 01/24/2012 01:32 PM, Anthony Liguori wrote: > This series makes qdev a proper Object and converts qdev's type inheritance to > QOM inheritance. > > The first half of the series are manual cleanups/refactorings. The second half > is mostly scripted conversion, separated out into reviewable and bisectable > chunks. > > I've tested this series extensively for the pc target including bisectability. > I have not tested any other targets yet so your mileage may vary. > > Since the original RFC, I've fixed any of the not-for-upstream issues. This > also includes some uni-north patches that are in ppc-next. > > Paolo and Andreas have asked that I declare a date when I'll merge this so that > people can be prepared for the rebase fall out. I will merge this on Friday > unless there is a major problem found in review. Applied (with the few changes requested). Even anyone encounters a problem rebasing after this series, please feel free to poke me for help. There should be ample examples of how to use the new infrastructure too. Regards, Anthony Liguori > > This is also available at: > > https://github.com/aliguori/qemu/tree/qom-upstream.10 > > For full context, the whole tree is located at: > > https://github.com/aliguori/qemu/commits/qom-rebase.7 > > git diffstat origin/master HEAD > Makefile | 2 > Makefile.hw | 1 > Makefile.objs | 3 > Makefile.target | 2 > configure | 2 > hw/9pfs/virtio-9p-device.c | 44 ++-- > hw/a9mpcore.c | 21 + > hw/ac97.c | 39 ++- > hw/acpi_piix4.c | 59 +++-- > hw/ads7846.c | 17 + > hw/alpha_typhoon.c | 17 + > hw/apb_pci.c | 71 ++++-- > hw/apic.c | 21 + > hw/apic_common.c | 88 +++++--- > hw/apic_internal.h | 32 +- > hw/applesmc.c | 18 + > hw/arm11mpcore.c | 68 +++--- > hw/arm_l2x0.c | 25 +- > hw/arm_mptimer.c | 23 +- > hw/arm_sysctl.c | 31 +- > hw/arm_timer.c | 46 +++- > hw/armv7m.c | 25 +- > hw/armv7m_nvic.c | 21 + > hw/bitbang_i2c.c | 17 + > hw/bonito.c | 47 ++-- > hw/ccid-card-emulated.c | 27 +- > hw/ccid-card-passthru.c | 27 +- > hw/ccid.h | 28 +- > hw/cirrus_vga.c | 50 ++-- > hw/container.c | 17 + > hw/cs4231.c | 27 +- > hw/cs4231a.c | 20 + > hw/debugcon.c | 16 + > hw/dec_pci.c | 74 ++++-- > hw/ds1225y.c | 29 +- > hw/ds1338.c | 31 +- > hw/e1000.c | 45 ++-- > hw/eccmemctl.c | 29 +- > hw/eepro100.c | 202 +++++++++++------- > hw/empty_slot.c | 15 + > hw/es1370.c | 36 +-- > hw/escc.c | 43 ++- > hw/esp.c | 27 +- > hw/etraxfs_eth.c | 33 +-- > hw/etraxfs_pic.c | 25 +- > hw/etraxfs_ser.c | 17 + > hw/etraxfs_timer.c | 16 + > hw/fdc.c | 84 +++++-- > hw/fw_cfg.c | 33 +-- > hw/g364fb.c | 33 +-- > hw/grackle_pci.c | 44 ++-- > hw/grlib_apbuart.c | 25 +- > hw/grlib_gptimer.c | 31 +- > hw/grlib_irqmp.c | 29 +- > hw/gt64xxx.c | 39 ++- > hw/gus.c | 20 + > hw/hda-audio.c | 60 +++-- > hw/hpet.c | 33 +-- > hw/i2c.c | 111 +++++++--- > hw/i2c.h | 52 ++-- > hw/i82374.c | 19 + > hw/i82378.c | 31 +- > hw/i8254.c | 22 +- > hw/i8259.c | 15 + > hw/i8259_common.c | 45 ++-- > hw/i8259_internal.h | 27 +- > hw/ide/cmd646.c | 41 ++- > hw/ide/ich.c | 37 +-- > hw/ide/internal.h | 20 + > hw/ide/isa.c | 20 + > hw/ide/piix.c | 91 +++++--- > hw/ide/qdev.c | 111 ++++++---- > hw/ide/via.c | 27 +- > hw/integratorcp.c | 40 ++- > hw/intel-hda.c | 91 +++++--- > hw/intel-hda.h | 26 +- > hw/ioapic.c | 17 + > hw/ioapic_common.c | 49 +++- > hw/ioapic_internal.h | 26 +- > hw/ioh3420.c | 59 +++-- > hw/isa-bus.c | 57 +++-- > hw/isa.h | 23 +- > hw/ivshmem.c | 47 ++-- > hw/kvm/apic.c | 19 + > hw/kvm/clock.c | 19 + > hw/kvm/i8259.c | 19 + > hw/kvm/ioapic.c | 23 +- > hw/lan9118.c | 31 +- > hw/lance.c | 33 +-- > hw/lm32_juart.c | 19 + > hw/lm32_pic.c | 19 + > hw/lm32_sys.c | 29 +- > hw/lm32_timer.c | 31 +- > hw/lm32_uart.c | 19 + > hw/lm832x.c | 33 +-- > hw/lsi53c895a.c | 33 +-- > hw/m48t59.c | 51 +++- > hw/macio.c | 50 +++- > hw/marvell_88w8618_audio.c | 35 +-- > hw/max111x.c | 34 ++- > hw/max7310.c | 35 +-- > hw/mc146818rtc.c | 22 +- > hw/milkymist-ac97.c | 19 + > hw/milkymist-hpdmc.c | 19 + > hw/milkymist-memcard.c | 19 + > hw/milkymist-minimac2.c | 37 ++- > hw/milkymist-pfpu.c | 19 + > hw/milkymist-softusb.c | 43 ++- > hw/milkymist-sysctl.c | 43 ++- > hw/milkymist-tmu2.c | 19 + > hw/milkymist-uart.c | 19 + > hw/milkymist-vgafb.c | 31 +- > hw/mips_malta.c | 19 + > hw/mipsnet.c | 33 +-- > hw/mpc8544_guts.c | 15 + > hw/mst_fpga.c | 19 + > hw/musicpal.c | 153 ++++++++++---- > hw/nand.c | 33 +-- > hw/ne2000-isa.c | 18 + > hw/ne2000.c | 37 ++- > hw/omap_gpio.c | 70 ++++-- > hw/omap_intc.c | 62 +++-- > hw/onenand.c | 35 ++- > hw/opencores_eth.c | 31 +- > hw/openpic.c | 30 -- > hw/openpic.h | 2 > hw/parallel.c | 16 + > hw/pc.c | 20 + > hw/pci.c | 140 +++++------- > hw/pci.h | 80 +++---- > hw/pci_bridge.c | 2 > hw/pcie.c | 2 > hw/pckbd.c | 18 + > hw/pcnet-pci.c | 39 ++- > hw/pcnet.c | 2 > hw/piix4.c | 35 +-- > hw/piix_pci.c | 126 +++++++---- > hw/pl011.c | 36 ++- > hw/pl022.c | 15 + > hw/pl031.c | 19 + > hw/pl041.c | 34 +-- > hw/pl050.c | 34 ++- > hw/pl061.c | 34 ++- > hw/pl080.c | 38 ++- > hw/pl110.c | 57 +++-- > hw/pl181.c | 23 +- > hw/pl190.c | 21 + > hw/ppc4xx_pci.c | 38 ++- > hw/ppc_newworld.c | 2 > hw/ppce500_pci.c | 38 ++- > hw/ppce500_spin.c | 15 + > hw/prep_pci.c | 52 ++-- > hw/pxa2xx.c | 96 ++++++-- > hw/pxa2xx_dma.c | 29 +- > hw/pxa2xx_gpio.c | 29 +- > hw/pxa2xx_pic.c | 19 + > hw/pxa2xx_timer.c | 66 +++--- > hw/qdev-properties.c | 20 - > hw/qdev.c | 123 ++++++++--- > hw/qdev.h | 40 +++ > hw/qxl.c | 66 +++--- > hw/realview.c | 15 + > hw/realview_gic.c | 16 + > hw/rtl8139.c | 43 ++- > hw/s390-virtio-bus.c | 110 +++++++--- > hw/sb16.c | 20 + > hw/sbi.c | 19 + > hw/scsi-bus.c | 95 ++++++-- > hw/scsi-disk.c | 159 ++++++++------ > hw/scsi-generic.c | 29 +- > hw/scsi.h | 31 +- > hw/serial.c | 18 + > hw/sga.c | 15 - > hw/sh_pci.c | 37 ++- > hw/slavio_intctl.c | 19 + > hw/slavio_misc.c | 34 ++- > hw/slavio_timer.c | 29 +- > hw/smbus.c | 85 +++++-- > hw/smbus.h | 42 ++- > hw/smbus_eeprom.c | 27 +- > hw/smc91c111.c | 31 +- > hw/spapr_llan.c | 41 ++- > hw/spapr_pci.c | 31 ++ > hw/spapr_vio.c | 72 ++++-- > hw/spapr_vio.h | 35 ++- > hw/spapr_vscsi.c | 37 ++- > hw/spapr_vty.c | 37 ++- > hw/sparc32_dma.c | 31 +- > hw/spitz.c | 94 +++++--- > hw/ssd0303.c | 33 +-- > hw/ssd0323.c | 17 + > hw/ssi-sd.c | 17 + > hw/ssi.c | 23 +- > hw/ssi.h | 18 + > hw/stellaris.c | 65 +++++- > hw/stellaris_enet.c | 27 +- > hw/strongarm.c | 124 +++++++---- > hw/sun4c_intctl.c | 19 + > hw/sun4m.c | 78 +++++-- > hw/sun4m_iommu.c | 29 +- > hw/sun4u.c | 71 ++++-- > hw/sysbus.c | 40 ++- > hw/sysbus.h | 25 +- > hw/tcx.c | 37 ++- > hw/tmp105.c | 37 ++- > hw/tosa.c | 50 ++-- > hw/tusb6010.c | 17 + > hw/twl92230.c | 35 +-- > hw/unin_pci.c | 204 +++++++++++++----- > hw/usb-audio.c | 38 ++- > hw/usb-bt.c | 33 +-- > hw/usb-bus.c | 190 +++++++++++++---- > hw/usb-ccid.c | 114 +++++++--- > hw/usb-desc.c | 22 +- > hw/usb-ehci.c | 63 +++-- > hw/usb-hid.c | 108 +++++----- > hw/usb-hub.c | 35 +-- > hw/usb-msd.c | 41 ++- > hw/usb-net.c | 43 ++- > hw/usb-ohci.c | 58 +++-- > hw/usb-serial.c | 74 +++--- > hw/usb-uhci.c | 189 +++++++++++------ > hw/usb-wacom.c | 36 +-- > hw/usb-xhci.c | 37 ++- > hw/usb.c | 24 -- > hw/usb.h | 50 +++- > hw/versatile_pci.c | 53 +++- > hw/versatilepb.c | 19 + > hw/vga-isa.c | 18 + > hw/vga-pci.c | 27 +- > hw/virtio-console.c | 69 +++--- > hw/virtio-net.c | 2 > hw/virtio-pci.c | 210 +++++++++++-------- > hw/virtio-serial-bus.c | 68 +++--- > hw/virtio-serial.h | 81 ++++--- > hw/vmmouse.c | 22 +- > hw/vmport.c | 16 + > hw/vmware_vga.c | 34 +-- > hw/vt82c686.c | 120 ++++++----- > hw/wdt_i6300esb.c | 33 +-- > hw/wdt_ib700.c | 18 + > hw/wm8750.c | 37 ++- > hw/xen_platform.c | 34 +-- > hw/xilinx_axidma.c | 27 +- > hw/xilinx_axienet.c | 35 ++- > hw/xilinx_ethlite.c | 31 +- > hw/xilinx_intc.c | 25 +- > hw/xilinx_timer.c | 27 +- > hw/xilinx_uartlite.c | 16 + > hw/xio3130_downstream.c | 59 +++-- > hw/xio3130_upstream.c | 53 ++-- > hw/z2.c | 52 +++- > hw/zaurus.c | 27 +- > include/qemu/object.h | 436 ++++++++++++++++++++++++++++++++++++++++ > qom/Makefile | 1 > qom/object.c | 485 +++++++++++++++++++++++++++++++++++++++++++++ > usb-bsd.c | 29 +- > usb-linux.c | 37 +-- > usb-redir.c | 33 +-- > 259 files changed, 7764 insertions(+), 3755 deletions(-) > > >