unicorn/qemu/hw
Igor Mammedov 87db6e033b
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.

Backports commits 62a48a2a5798425997152dea3fc48708f9116c04 and
f313369fdb78f849ecbbd8e5d88f01ddf38786c8 from qemu
2018-03-20 12:00:27 -04:00
..
arm cpu: Use CPUClass->parse_features() as convertor to global properties 2018-03-20 12:00:27 -04:00
core machine: use class base init generated name 2018-03-11 16:54:40 -04:00
i386 pc: Generate init functions with a macro 2018-03-11 13:42:19 -04:00
intc qemu-common: push cpu.h inclusion out of qemu-common.h 2018-02-24 01:50:56 -05:00
m68k cpu: Generify CPU init functions 2018-03-20 08:21:51 -04:00
mips Use DEFINE_MACHINE() to register all machines 2018-03-11 15:12:46 -04:00
sparc cpu: Generify CPU init functions 2018-03-20 08:21:51 -04:00
sparc64 cpu: Generify CPU init functions 2018-03-20 08:21:51 -04:00
Makefile.objs import 2015-08-21 15:04:50 +08:00