qemu/hw/arm
Igor Mammedov 62a48a2a57 cpu: Use CPUClass->parse_features() as convertor to global properties
Currently CPUClass->parse_features() is used to parse -cpu
features string and set properties on created CPU instances.

But considering that features specified by -cpu apply to every
created CPU instance, it doesn't make sense to parse the same
features string for every CPU created. It also makes every target
that cares about parsing features string explicitly call
CPUClass->parse_features() parser, which gets in a way if we
consider using generic device_add for CPU hotplug as device_add
has not a clue about CPU specific hooks.

Turns out we can use global properties mechanism to set
properties on every created CPU instance for a given type. That
way it's possible to convert CPU features into a set of global
properties for CPU type specified by -cpu cpu_model and common
Device.device_post_init() will apply them to CPU of given type
automatically regardless whether it's manually created CPU or CPU
created with help of device_add.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
2016-07-07 15:25:01 -03:00
..
allwinner-a10.c hw: explicitly include qemu-common.h and cpu.h 2016-03-22 22:20:17 +01:00
armv7m.c hw/arm: QOM'ify armv7m.c 2016-05-12 13:40:48 +01:00
ast2400.c ast2400: add SPI flash slaves 2016-07-04 13:15:22 +01:00
bcm2835_peripherals.c hw/char: QOM'ify pl011 model 2016-06-06 16:59:31 +01:00
bcm2836.c hw/arm/bcm2836: Wire up CPU timer interrupts correctly 2016-04-04 17:33:51 +01:00
boot.c ARM: Virt: Set numa-node-id for cpu and memory nodes 2016-05-12 13:22:27 +01:00
collie.c explicitly include qom/cpu.h 2016-05-19 16:42:27 +02:00
cubieboard.c hw: explicitly include qemu-common.h and cpu.h 2016-03-22 22:20:17 +01:00
digic_boards.c hw: explicitly include qemu-common.h and cpu.h 2016-03-22 22:20:17 +01:00
digic.c hw/char: QOM'ify digic-uart model 2016-06-06 16:59:31 +01:00
exynos4_boards.c hw: explicitly include qemu-common.h and cpu.h 2016-03-22 22:20:17 +01:00
exynos4210.c hw: explicitly include qemu-common.h and cpu.h 2016-03-22 22:20:17 +01:00
fsl-imx6.c i.MX: split the GPT timer implementation into per SOC definitions 2016-07-07 13:47:01 +01:00
fsl-imx25.c i.MX: split the GPT timer implementation into per SOC definitions 2016-07-07 13:47:01 +01:00
fsl-imx31.c i.MX: split the GPT timer implementation into per SOC definitions 2016-07-07 13:47:01 +01:00
gumstix.c machine: Use type_init() to register machine classes 2016-03-16 15:34:05 -03:00
highbank.c hw/char: QOM'ify pl011 model 2016-06-06 16:59:31 +01:00
imx25_pdk.c hw: explicitly include qemu-common.h and cpu.h 2016-03-22 22:20:17 +01:00
integratorcp.c hw/char: QOM'ify pl011 model 2016-06-06 16:59:31 +01:00
kzm.c hw: explicitly include qemu-common.h and cpu.h 2016-03-22 22:20:17 +01:00
mainstone.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
Makefile.objs i.MX: Add sabrelite i.MX6 emulation. 2016-05-12 13:22:29 +01:00
musicpal.c hw: explicitly include qemu-common.h and cpu.h 2016-03-22 22:20:17 +01:00
netduino2.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
nseries.c vl: Eliminate usb_enabled() 2016-06-13 13:24:41 +02:00
omap1.c util: move declarations out of qemu-common.h 2016-03-22 22:20:17 +01:00
omap2.c hw: explicitly include qemu-common.h and cpu.h 2016-03-22 22:20:17 +01:00
omap_sx1.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
palm.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
palmetto-bmc.c ast2400: create SPI flash slaves 2016-07-04 13:15:22 +01:00
pxa2xx_gpio.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
pxa2xx_pic.c hw/arm: QOM'ify pxa2xx_pic.c 2016-05-12 13:42:08 +01:00
pxa2xx.c pxa2xx: Unconditionally enable USB controller 2016-06-13 13:24:41 +02:00
raspi.c hw: explicitly include qemu-common.h and cpu.h 2016-03-22 22:20:17 +01:00
realview.c vl: Eliminate usb_enabled() 2016-06-13 13:24:41 +02:00
sabrelite.c m25p80: qdev-ify drive property 2016-07-04 13:15:22 +01:00
spitz.c ssi: change ssi_slave_init to be a realize ops 2016-07-04 13:15:22 +01:00
stellaris.c hw/char: QOM'ify pl011 model 2016-06-06 16:59:31 +01:00
stm32f205_soc.c hw/char: QOM'ify stm32f2xx_usart model 2016-06-06 16:59:32 +01:00
strongarm.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
strongarm.h arm: include cpu-qom.h in files that require ARMCPU 2016-05-19 16:42:27 +02:00
sysbus-fdt.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
tosa.c ssi: change ssi_slave_init to be a realize ops 2016-07-04 13:15:22 +01:00
trace-events trace: split out trace events for hw/arm/ directory 2016-06-20 17:22:16 +01:00
versatilepb.c vl: Eliminate usb_enabled() 2016-06-13 13:24:41 +02:00
vexpress.c hw/char: QOM'ify pl011 model 2016-06-06 16:59:31 +01:00
virt-acpi-build.c ACPI: ARM: Present GIC version in MADT table 2016-06-17 15:23:51 +01:00
virt.c cpu: Use CPUClass->parse_features() as convertor to global properties 2016-07-07 15:25:01 -03:00
xilinx_zynq.c m25p80: qdev-ify drive property 2016-07-04 13:15:22 +01:00
xlnx-ep108.c m25p80: qdev-ify drive property 2016-07-04 13:15:22 +01:00
xlnx-zynqmp.c arm: xlnx-zynqmp: Add xlnx-dp and xlnx-dpdma 2016-06-14 16:01:03 +01:00
z2.c ssi: change ssi_slave_init to be a realize ops 2016-07-04 13:15:22 +01:00