qemu-irix/hw
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
..
9pfs 9p: synth: drop v9fs_ prefix 2016-07-01 14:38:54 +02:00
acpi opts-visitor: Favor new visit_free() function 2016-07-06 10:52:04 +02:00
alpha
arm cpu: Use CPUClass->parse_features() as convertor to global properties 2016-07-07 15:25:01 -03:00
audio pci: Convert msi_init() to Error and fix callers to check it 2016-07-05 13:14:41 +03:00
block hw/block/m25p80: fix resource leak 2016-07-07 13:47:01 +01:00
bt
char * serial port fixes (Paolo) 2016-06-29 19:14:48 +01:00
core vl: Set errp to &error_abort on machine compat_props 2016-07-07 15:24:55 -03:00
cpu
cris
display aux: Rename aux.[ch] to auxbus.[ch] for the benefit of Windows 2016-07-07 13:47:01 +01:00
dma dma: Add Xilinx Zynq devcfg device model 2016-07-04 13:15:22 +01:00
gpio
i2c
i386 range: Eliminate direct Range member access 2016-07-04 16:49:33 +03:00
ide pci: Convert msi_init() to Error and fix callers to check it 2016-07-05 13:14:41 +03:00
input
intc armv7m_nvic: Use qemu_get_cpu(0) instead of current_cpu 2016-07-04 13:15:22 +01:00
ipack
ipmi
isa ich9: implement SCI_IRQ_SEL register 2016-06-29 14:03:48 +02:00
lm32
m68k
mem
microblaze m25p80: qdev-ify drive property 2016-07-04 13:15:22 +01:00
mips
misc i.MX: split the GPT timer implementation into per SOC definitions 2016-07-07 13:47:01 +01:00
moxie
net tap: vhost busy polling support 2016-07-07 14:29:04 +08:00
nvram
openrisc
pci qapi: Improve use of qmp/types.h 2016-07-06 10:52:03 +02:00
pci-bridge pci: Convert msi_init() to Error and fix callers to check it 2016-07-05 13:14:41 +03:00
pci-host range: Eliminate direct Range member access 2016-07-04 16:49:33 +03:00
pcmcia
ppc qapi: Add parameter to visit_end_* 2016-07-06 10:52:04 +02:00
s390x
scsi tap: vhost busy polling support 2016-07-07 14:29:04 +08:00
sd ssi: change ssi_slave_init to be a realize ops 2016-07-04 13:15:22 +01:00
sh4
smbios
sparc
sparc64
ssi ast2400: add SPI flash slaves 2016-07-04 13:15:22 +01:00
timer i.MX: split the GPT timer implementation into per SOC definitions 2016-07-07 13:47:01 +01:00
tpm
tricore
unicore32
usb pci: Convert msi_init() to Error and fix callers to check it 2016-07-05 13:14:41 +03:00
vfio pc, pci, virtio: new features, cleanups, fixes 2016-07-05 16:48:24 +01:00
virtio tap: vhost busy polling support 2016-07-07 14:29:04 +08:00
watchdog
xen
xenpv
xtensa
Makefile.objs