qemu/include
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
..
block block: Convert bdrv_co_preadv/pwritev to BdrvChild 2016-07-05 16:46:27 +02:00
crypto crypto: add support for TLS priority string override 2016-07-04 15:52:43 +01:00
disas qemu-common: push cpu.h inclusion out of qemu-common.h 2016-05-19 16:42:29 +02:00
exec tcg: Improve the alignment check infrastructure 2016-07-05 20:50:13 -07:00
fpu softfloat: Implement run-time-configurable meaning of signaling NaN bit 2016-06-24 13:40:37 +01:00
hw machine: Add machine_register_compat_props() function 2016-07-07 15:24:54 -03:00
io sockets: Use new QAPI cloning 2016-07-06 10:52:04 +02:00
libdecnumber include: Clean up includes 2016-02-23 12:43:05 +00:00
migration scsi: esp: fix migration 2016-06-29 14:03:47 +02:00
monitor Use scripts/clean-includes to drop redundant qemu/typedefs.h 2016-03-22 22:20:16 +01:00
net tap: vhost busy polling support 2016-07-07 14:29:04 +08:00
qapi sockets: Use new QAPI cloning 2016-07-06 10:52:04 +02:00
qemu qdev: Eliminate qemu_add_globals() function 2016-07-07 15:24:50 -03:00
qom cpu: Use CPUClass->parse_features() as convertor to global properties 2016-07-07 15:25:01 -03:00
standard-headers linux-headers: update 2016-06-14 13:34:50 +02:00
sysemu Block layer patches 2016-07-05 17:53:02 +01:00
ui virgl: pass whole GL scanout dimensions 2016-07-06 10:32:14 +02:00
elf.h linux-user: Update preprocessor constants for Mips-specific e_flags bits 2016-06-24 13:41:45 +01:00
glib-compat.h vhost-user-test: fix g_cond_wait_until compat implementation 2016-06-29 16:49:40 +02:00
qemu-common.h qemu-common.h: Drop WORDS_ALIGNED define 2016-06-07 18:19:24 +03:00
qemu-io.h qemu-io: Use BlockBackend 2015-02-16 15:07:19 +00:00
trace-tcg.h trace: [tcg] Generate TCG tracing routines 2014-08-12 14:26:12 +01:00
trace.h trace: [tcg] Include event definitions in "trace.h" 2014-08-12 14:26:12 +01:00