qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 00/22] qom: use Type system to register all devices


From: Anthony Liguori
Subject: [Qemu-devel] [PATCH 00/22] qom: use Type system to register all devices (v2)
Date: Wed, 1 Feb 2012 13:50:41 -0600

This is the 3rd QOM series.  All known issues have been resolved.  This has been
extensively tested (including for bisectability).  I think this is ready to
apply.

The goal of this series is to make DeviceState a first class QOM base class.
The result is that you can object_new(TYPE_E1000) and have a functioning
device.  qdev_create() and qdev_free() are now trivialized as QOM wrappers.

Patch 8/23 is an automated touch everything patch.  I decided to leave it as
one big patch because this is entirely programmatic.  There's no intelligence
in this patch so I think it's easier to review quickly as one big change.

The other notable feature of this series it that properties have been moved to
the Object base class.  This means that other subsystems can begin using QOM.

This is the last touch every file in the tree series. 

 b/Makefile.objs              |    4 
 b/hw/9pfs/virtio-9p-device.c |   16 
 b/hw/a9mpcore.c              |   40 -
 b/hw/ac97.c                  |   18 
 b/hw/acpi_piix4.c            |   20 
 b/hw/ads7846.c               |   11 
 b/hw/alpha_typhoon.c         |   14 
 b/hw/apb_pci.c               |   41 -
 b/hw/apic.c                  |   10 
 b/hw/apic_common.c           |   15 
 b/hw/apic_internal.h         |    1 
 b/hw/applesmc.c              |   28 -
 b/hw/arm11mpcore.c           |   28 -
 b/hw/arm_l2x0.c              |   24 
 b/hw/arm_mptimer.c           |   28 -
 b/hw/arm_sysctl.c            |   18 
 b/hw/arm_timer.c             |   35 -
 b/hw/armv7m.c                |   14 
 b/hw/armv7m_nvic.c           |   32 -
 b/hw/bitbang_i2c.c           |   14 
 b/hw/bonito.c                |   32 -
 b/hw/ccid-card-emulated.c    |   35 -
 b/hw/ccid-card-passthru.c    |   28 -
 b/hw/ccid.h                  |    1 
 b/hw/cirrus_vga.c            |   30 -
 b/hw/cs4231.c                |   18 
 b/hw/cs4231a.c               |   30 -
 b/hw/debugcon.c              |   26 
 b/hw/dec_pci.c               |   40 -
 b/hw/ds1225y.c               |   16 
 b/hw/ds1338.c                |   11 
 b/hw/e1000.c                 |   20 
 b/hw/eccmemctl.c             |   18 
 b/hw/eepro100.c              |   83 +--
 b/hw/empty_slot.c            |   11 
 b/hw/es1370.c                |   16 
 b/hw/escc.c                  |   18 
 b/hw/esp.c                   |   18 
 b/hw/etraxfs_eth.c           |   14 
 b/hw/etraxfs_pic.c           |   14 
 b/hw/etraxfs_ser.c           |   16 
 b/hw/etraxfs_timer.c         |   11 
 b/hw/fdc.c                   |   76 +-
 b/hw/fw_cfg.c                |   20 
 b/hw/g364fb.c                |   20 
 b/hw/grackle_pci.c           |   26 
 b/hw/grlib_apbuart.c         |   14 
 b/hw/grlib_gptimer.c         |   16 
 b/hw/grlib_irqmp.c           |   16 
 b/hw/gt64xxx.c               |   22 
 b/hw/gus.c                   |   32 -
 b/hw/hda-audio.c             |   36 -
 b/hw/highbank.c              |   18 
 b/hw/hpet.c                  |   20 
 b/hw/i2c.c                   |   23 
 b/hw/i2c.h                   |    3 
 b/hw/i82374.c                |   22 
 b/hw/i82378.c                |   22 
 b/hw/i8254.c                 |   30 -
 b/hw/i8259.c                 |   11 
 b/hw/i8259_common.c          |   13 
 b/hw/i8259_internal.h        |    1 
 b/hw/ide/ahci.c              |   24 
 b/hw/ide/cmd646.c            |   14 
 b/hw/ide/ich.c               |   15 
 b/hw/ide/isa.c               |   30 -
 b/hw/ide/piix.c              |   44 -
 b/hw/ide/qdev.c              |   95 ++-
 b/hw/ide/via.c               |   14 
 b/hw/integratorcp.c          |   25 
 b/hw/intel-hda.c             |   39 -
 b/hw/intel-hda.h             |    1 
 b/hw/ioapic.c                |   14 
 b/hw/ioapic_common.c         |   10 
 b/hw/ioapic_internal.h       |    1 
 b/hw/ioh3420.c               |   20 
 b/hw/isa-bus.c               |   38 -
 b/hw/isa.h                   |    2 
 b/hw/ivshmem.c               |   16 
 b/hw/kvm/apic.c              |    5 
 b/hw/kvm/clock.c             |   16 
 b/hw/kvm/i8259.c             |    8 
 b/hw/kvm/ioapic.c            |   20 
 b/hw/lan9118.c               |   18 
 b/hw/lance.c                 |   20 
 b/hw/lm32_juart.c            |   18 
 b/hw/lm32_pic.c              |   16 
 b/hw/lm32_sys.c              |   18 
 b/hw/lm32_timer.c            |   18 
 b/hw/lm32_uart.c             |   18 
 b/hw/lm832x.c                |   14 
 b/hw/lsi53c895a.c            |   17 
 b/hw/m48t59.c                |   46 -
 b/hw/macio.c                 |   11 
 b/hw/marvell_88w8618_audio.c |   18 
 b/hw/max111x.c               |   22 
 b/hw/max7310.c               |   16 
 b/hw/mc146818rtc.c           |   34 -
 b/hw/milkymist-ac97.c        |   16 
 b/hw/milkymist-hpdmc.c       |   16 
 b/hw/milkymist-memcard.c     |   16 
 b/hw/milkymist-minimac2.c    |   18 
 b/hw/milkymist-pfpu.c        |   16 
 b/hw/milkymist-softusb.c     |   18 
 b/hw/milkymist-sysctl.c      |   18 
 b/hw/milkymist-tmu2.c        |   16 
 b/hw/milkymist-uart.c        |   18 
 b/hw/milkymist-vgafb.c       |   18 
 b/hw/mips_malta.c            |   14 
 b/hw/mipsnet.c               |   20 
 b/hw/mpc8544_guts.c          |   11 
 b/hw/mst_fpga.c              |   16 
 b/hw/musicpal.c              |  117 ++--
 b/hw/nand.c                  |   18 
 b/hw/ne2000-isa.c            |   26 
 b/hw/ne2000.c                |   16 
 b/hw/omap_gpio.c             |   32 -
 b/hw/omap_intc.c             |   32 -
 b/hw/onenand.c               |   16 
 b/hw/opencores_eth.c         |   18 
 b/hw/parallel.c              |   28 -
 b/hw/pc.c                    |   18 
 b/hw/pc_piix.c               |    6 
 b/hw/pci.c                   |   41 -
 b/hw/pci.h                   |    2 
 b/hw/pckbd.c                 |   16 
 b/hw/pcnet-pci.c             |   18 
 b/hw/piix4.c                 |   18 
 b/hw/piix_pci.c              |   74 +-
 b/hw/pl011.c                 |   24 
 b/hw/pl022.c                 |   11 
 b/hw/pl031.c                 |   16 
 b/hw/pl041.c                 |   20 
 b/hw/pl050.c                 |   28 -
 b/hw/pl061.c                 |   28 -
 b/hw/pl080.c                 |   32 -
 b/hw/pl110.c                 |   48 +
 b/hw/pl181.c                 |   18 
 b/hw/pl190.c                 |   18 
 b/hw/ppc4xx_pci.c            |   28 -
 b/hw/ppc_prep.c              |    2 
 b/hw/ppce500_pci.c           |   28 -
 b/hw/ppce500_spin.c          |   11 
 b/hw/prep_pci.c              |   26 
 b/hw/pxa2xx.c                |   56 +-
 b/hw/pxa2xx_dma.c            |   18 
 b/hw/pxa2xx_gpio.c           |   16 
 b/hw/pxa2xx_pic.c            |   16 
 b/hw/pxa2xx_timer.c          |   36 -
 b/hw/qdev-addr.c             |    6 
 b/hw/qdev-monitor.c          |  588 ++++++++++++++++++++++
 b/hw/qdev-properties.c       |   57 +-
 b/hw/qdev.c                  | 1144 +++----------------------------------------
 b/hw/qdev.h                  |  367 +------------
 b/hw/qxl.c                   |   40 -
 b/hw/realview.c              |   11 
 b/hw/realview_gic.c          |   11 
 b/hw/rtl8139.c               |   18 
 b/hw/s390-virtio-bus.c       |  137 ++---
 b/hw/s390-virtio-bus.h       |   19 
 b/hw/sb16.c                  |   34 -
 b/hw/sbi.c                   |   16 
 b/hw/scsi-bus.c              |   21 
 b/hw/scsi-disk.c             |  116 ++--
 b/hw/scsi-generic.c          |   28 -
 b/hw/scsi.h                  |    1 
 b/hw/serial.c                |   30 -
 b/hw/sga.c                   |   14 
 b/hw/sh_pci.c                |   22 
 b/hw/slavio_intctl.c         |   16 
 b/hw/slavio_misc.c           |   27 -
 b/hw/slavio_timer.c          |   18 
 b/hw/smbus.c                 |    6 
 b/hw/smbus.h                 |    2 
 b/hw/smbus_eeprom.c          |   22 
 b/hw/smc91c111.c             |   18 
 b/hw/spapr_llan.c            |   14 
 b/hw/spapr_pci.c             |   22 
 b/hw/spapr_vio.c             |   37 -
 b/hw/spapr_vio.h             |    1 
 b/hw/spapr_vscsi.c           |   14 
 b/hw/spapr_vty.c             |   14 
 b/hw/sparc32_dma.c           |   18 
 b/hw/spitz.c                 |   60 +-
 b/hw/ssd0303.c               |   14 
 b/hw/ssd0323.c               |   11 
 b/hw/ssi-sd.c                |   11 
 b/hw/ssi.c                   |   26 
 b/hw/ssi.h                   |    2 
 b/hw/stellaris.c             |   44 -
 b/hw/stellaris_enet.c        |   14 
 b/hw/strongarm.c             |   98 ++-
 b/hw/sun4c_intctl.c          |   16 
 b/hw/sun4m.c                 |   50 +
 b/hw/sun4m_iommu.c           |   18 
 b/hw/sun4u.c                 |   39 -
 b/hw/sysbus.c                |   24 
 b/hw/sysbus.h                |    4 
 b/hw/tcx.c                   |   18 
 b/hw/tmp105.c                |   14 
 b/hw/tosa.c                  |   24 
 b/hw/tusb6010.c              |   14 
 b/hw/twl92230.c              |   14 
 b/hw/unin_pci.c              |   74 +-
 b/hw/usb-audio.c             |   29 -
 b/hw/usb-bt.c                |   14 
 b/hw/usb-bus.c               |   25 
 b/hw/usb-ccid.c              |   46 -
 b/hw/usb-ehci.c              |   32 -
 b/hw/usb-hid.c               |   72 +-
 b/hw/usb-hub.c               |   18 
 b/hw/usb-msd.c               |   31 -
 b/hw/usb-net.c               |   27 -
 b/hw/usb-ohci.c              |   42 -
 b/hw/usb-serial.c            |   50 +
 b/hw/usb-uhci.c              |   96 ++-
 b/hw/usb-wacom.c             |   21 
 b/hw/usb-xhci.c              |   25 
 b/hw/usb.h                   |    5 
 b/hw/versatile_pci.c         |   33 -
 b/hw/versatilepb.c           |   16 
 b/hw/vga-isa.c               |   16 
 b/hw/vga-pci.c               |   14 
 b/hw/virtio-console.c        |   28 -
 b/hw/virtio-pci.c            |   68 +-
 b/hw/virtio-serial-bus.c     |   21 
 b/hw/virtio-serial.h         |    6 
 b/hw/vmmouse.c               |   28 -
 b/hw/vmport.c                |   14 
 b/hw/vmware_vga.c            |   16 
 b/hw/vt82c686.c              |   64 +-
 b/hw/wdt_i6300esb.c          |   16 
 b/hw/wdt_ib700.c             |   16 
 b/hw/wm8750.c                |   14 
 b/hw/xen_platform.c          |   18 
 b/hw/xgmac.c                 |   25 
 b/hw/xilinx_axidma.c         |   14 
 b/hw/xilinx_axienet.c        |   14 
 b/hw/xilinx_ethlite.c        |   14 
 b/hw/xilinx_intc.c           |   14 
 b/hw/xilinx_timer.c          |   14 
 b/hw/xilinx_uartlite.c       |   13 
 b/hw/xio3130_downstream.c    |   20 
 b/hw/xio3130_upstream.c      |   20 
 b/hw/z2.c                    |   28 -
 b/hw/zaurus.c                |   18 
 b/include/qemu/object.h      |  228 ++++++++
 b/qapi-schema.json           |   55 +-
 b/qemu-char.c                |   10 
 b/qemu-char.h                |    2 
 b/qerror.c                   |    2 
 b/qmp-commands.hx            |    5 
 b/qmp.c                      |   61 +-
 b/qom/Makefile               |    2 
 b/qom/container.c            |   27 +
 b/qom/object.c               |  500 ++++++++++++++++++
 b/usb-linux.c                |   35 -
 hw/container.c               |   27 -
 258 files changed, 4829 insertions(+), 4058 deletions(-)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]