]> git.proxmox.com Git - mirror_qemu.git/commit - hw/i386/pc.c
qdev: register all types natively through QEMU Object Model
authorAnthony Liguori <aliguori@us.ibm.com>
Thu, 8 Dec 2011 03:34:16 +0000 (21:34 -0600)
committerAnthony Liguori <aliguori@us.ibm.com>
Fri, 3 Feb 2012 16:41:06 +0000 (10:41 -0600)
commit39bffca2030950ef6efe57c2fac8327a45ae1015
tree325262f44978e6116c9e43f688c900e08ee83738
parent212ad111683a5b5a79a74d6141a4b75f532a4c8f
qdev: register all types natively through QEMU Object Model

This was done in a mostly automated fashion.  I did it in three steps and then
rebased it into a single step which avoids repeatedly touching every file in
the tree.

The first step was a sed-based addition of the parent type to the subclass
registration functions.

The second step was another sed-based removal of subclass registration functions
while also adding virtual functions from the base class into a class_init
function as appropriate.

Finally, a python script was used to convert the DeviceInfo structures and
qdev_register_subclass functions to TypeInfo structures, class_init functions,
and type_register_static calls.

We are almost fully converted to QOM after this commit.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
243 files changed:
hw/9pfs/virtio-9p-device.c
hw/a9mpcore.c
hw/ac97.c
hw/acpi_piix4.c
hw/ads7846.c
hw/alpha_typhoon.c
hw/apb_pci.c
hw/apic.c
hw/apic_common.c
hw/apic_internal.h
hw/applesmc.c
hw/arm11mpcore.c
hw/arm_l2x0.c
hw/arm_mptimer.c
hw/arm_sysctl.c
hw/arm_timer.c
hw/armv7m.c
hw/armv7m_nvic.c
hw/bitbang_i2c.c
hw/bonito.c
hw/ccid-card-emulated.c
hw/ccid-card-passthru.c
hw/ccid.h
hw/cirrus_vga.c
hw/container.c
hw/cs4231.c
hw/cs4231a.c
hw/debugcon.c
hw/dec_pci.c
hw/ds1225y.c
hw/ds1338.c
hw/e1000.c
hw/eccmemctl.c
hw/eepro100.c
hw/empty_slot.c
hw/es1370.c
hw/escc.c
hw/esp.c
hw/etraxfs_eth.c
hw/etraxfs_pic.c
hw/etraxfs_ser.c
hw/etraxfs_timer.c
hw/fdc.c
hw/fw_cfg.c
hw/g364fb.c
hw/grackle_pci.c
hw/grlib_apbuart.c
hw/grlib_gptimer.c
hw/grlib_irqmp.c
hw/gt64xxx.c
hw/gus.c
hw/hda-audio.c
hw/highbank.c
hw/hpet.c
hw/i2c.c
hw/i2c.h
hw/i82374.c
hw/i82378.c
hw/i8254.c
hw/i8259.c
hw/i8259_common.c
hw/i8259_internal.h
hw/ide/ahci.c
hw/ide/cmd646.c
hw/ide/ich.c
hw/ide/isa.c
hw/ide/piix.c
hw/ide/qdev.c
hw/ide/via.c
hw/integratorcp.c
hw/intel-hda.c
hw/intel-hda.h
hw/ioapic.c
hw/ioapic_common.c
hw/ioapic_internal.h
hw/ioh3420.c
hw/isa-bus.c
hw/isa.h
hw/ivshmem.c
hw/kvm/apic.c
hw/kvm/clock.c
hw/kvm/i8259.c
hw/kvm/ioapic.c
hw/lan9118.c
hw/lance.c
hw/lm32_juart.c
hw/lm32_pic.c
hw/lm32_sys.c
hw/lm32_timer.c
hw/lm32_uart.c
hw/lm832x.c
hw/lsi53c895a.c
hw/m48t59.c
hw/macio.c
hw/marvell_88w8618_audio.c
hw/max111x.c
hw/max7310.c
hw/mc146818rtc.c
hw/milkymist-ac97.c
hw/milkymist-hpdmc.c
hw/milkymist-memcard.c
hw/milkymist-minimac2.c
hw/milkymist-pfpu.c
hw/milkymist-softusb.c
hw/milkymist-sysctl.c
hw/milkymist-tmu2.c
hw/milkymist-uart.c
hw/milkymist-vgafb.c
hw/mips_malta.c
hw/mipsnet.c
hw/mpc8544_guts.c
hw/mst_fpga.c
hw/musicpal.c
hw/nand.c
hw/ne2000-isa.c
hw/ne2000.c
hw/omap_gpio.c
hw/omap_intc.c
hw/onenand.c
hw/opencores_eth.c
hw/parallel.c
hw/pc.c
hw/pci.c
hw/pci.h
hw/pckbd.c
hw/pcnet-pci.c
hw/piix4.c
hw/piix_pci.c
hw/pl011.c
hw/pl022.c
hw/pl031.c
hw/pl041.c
hw/pl050.c
hw/pl061.c
hw/pl080.c
hw/pl110.c
hw/pl181.c
hw/pl190.c
hw/ppc4xx_pci.c
hw/ppc_prep.c
hw/ppce500_pci.c
hw/ppce500_spin.c
hw/prep_pci.c
hw/pxa2xx.c
hw/pxa2xx_dma.c
hw/pxa2xx_gpio.c
hw/pxa2xx_pic.c
hw/pxa2xx_timer.c
hw/qdev.h
hw/qxl.c
hw/realview.c
hw/realview_gic.c
hw/rtl8139.c
hw/s390-virtio-bus.c
hw/s390-virtio-bus.h
hw/sb16.c
hw/sbi.c
hw/scsi-bus.c
hw/scsi-disk.c
hw/scsi-generic.c
hw/scsi.h
hw/serial.c
hw/sga.c
hw/sh_pci.c
hw/slavio_intctl.c
hw/slavio_misc.c
hw/slavio_timer.c
hw/smbus.c
hw/smbus.h
hw/smbus_eeprom.c
hw/smc91c111.c
hw/spapr_llan.c
hw/spapr_pci.c
hw/spapr_vio.c
hw/spapr_vio.h
hw/spapr_vscsi.c
hw/spapr_vty.c
hw/sparc32_dma.c
hw/spitz.c
hw/ssd0303.c
hw/ssd0323.c
hw/ssi-sd.c
hw/ssi.c
hw/ssi.h
hw/stellaris.c
hw/stellaris_enet.c
hw/strongarm.c
hw/sun4c_intctl.c
hw/sun4m.c
hw/sun4m_iommu.c
hw/sun4u.c
hw/sysbus.c
hw/sysbus.h
hw/tcx.c
hw/tmp105.c
hw/tosa.c
hw/tusb6010.c
hw/twl92230.c
hw/unin_pci.c
hw/usb-audio.c
hw/usb-bt.c
hw/usb-bus.c
hw/usb-ccid.c
hw/usb-ehci.c
hw/usb-hid.c
hw/usb-hub.c
hw/usb-msd.c
hw/usb-net.c
hw/usb-ohci.c
hw/usb-serial.c
hw/usb-uhci.c
hw/usb-wacom.c
hw/usb-xhci.c
hw/usb.h
hw/versatile_pci.c
hw/versatilepb.c
hw/vga-isa.c
hw/vga-pci.c
hw/virtio-console.c
hw/virtio-pci.c
hw/virtio-serial-bus.c
hw/virtio-serial.h
hw/vmmouse.c
hw/vmport.c
hw/vmware_vga.c
hw/vt82c686.c
hw/wdt_i6300esb.c
hw/wdt_ib700.c
hw/wm8750.c
hw/xen_platform.c
hw/xgmac.c
hw/xilinx_axidma.c
hw/xilinx_axienet.c
hw/xilinx_ethlite.c
hw/xilinx_intc.c
hw/xilinx_timer.c
hw/xilinx_uartlite.c
hw/xio3130_downstream.c
hw/xio3130_upstream.c
hw/z2.c
hw/zaurus.c
include/qemu/object.h
usb-linux.c