[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 00/23] qom: use Type system to register all devices
From: |
Anthony Liguori |
Subject: |
[Qemu-devel] [PATCH 00/23] qom: use Type system to register all devices |
Date: |
Mon, 30 Jan 2012 15:16:07 -0600 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.23) Gecko/20110922 Lightning/1.0b2 Thunderbird/3.1.15 |
(Sorry for not posting this correctly, I didn't want to spam the list with a
second submission)
This is the 3rd QOM series. I decided to post this even though there's a known
issue with device_del as I wanted to give people more time to review what's
going on here.
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 | 590 ++++++++++++++++++++++
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 | 226 ++++++++
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 | 15
b/qom/object.c | 500 ++++++++++++++++++
b/usb-linux.c | 35 -
hw/container.c | 27 -
258 files changed, 4817 insertions(+), 4058 deletions(-)
- Re: [Qemu-devel] [PATCH 03/23] qdev: make DeviceInfo private, (continued)
- [Qemu-devel] [PATCH 04/23] qdev: remove info from class, Anthony Liguori, 2012/01/30
- [Qemu-devel] [PATCH 06/23] qdev: refactor device creation to allow bus_info to be set only in class, Anthony Liguori, 2012/01/30
- [Qemu-devel] [PATCH 07/23] qdev: kill off DeviceInfo list, Anthony Liguori, 2012/01/30
- [Qemu-devel] [PATCH 05/23] qdev: allow classes to overload qdev functions, Anthony Liguori, 2012/01/30
- [Qemu-devel] [PATCH 18/23] qom: accept any compatible type when setting a link property, Anthony Liguori, 2012/01/30
- [Qemu-devel] [PATCH 08/23] qdev: register all types natively through QEMU Object Model, Anthony Liguori, 2012/01/30
- [Qemu-devel] [PATCH 00/23] qom: use Type system to register all devices,
Anthony Liguori <=
- [Qemu-devel] [PATCH 11/23] qom: allow object_class_foreach to take additional parameters to refine search, Anthony Liguori, 2012/01/30
- [Qemu-devel] [PATCH 15/23] qdev: split out UI portions into a new function, Anthony Liguori, 2012/01/30
- [Qemu-devel] [PATCH 21/23] object: sure up reference counting, Anthony Liguori, 2012/01/30
- [Qemu-devel] [PATCH 12/23] qom: add new command to search for types, Anthony Liguori, 2012/01/30
- [Qemu-devel] [PATCH 22/23] container: make a decendent of Object, Anthony Liguori, 2012/01/30