build and run tested in FC17 host with x86_64-linux-user, x86_64-softmmu targets
changes since RFC are documented in idividual patch descriptions Thanks Andreas, Blue, Eduardo for reviews and suggestions. git tree for testing: https://github.com/imammedo/qemu/tree/x86-cpu-properties_v1 Igor Mammedov (21): target-i386: return Error from cpu_x86_find_by_name() target-i386: cpu_x86_register(): report error from property setter target-i386: if x86_cpu_realize() failed report error and do cleanup target-i386: filter out not TCG features if running without kvm at realize time target-i386: move out CPU features initialization in separate func target-i386: xlevel should be more than 0x80000000, move fixup into setter target-i386: convert cpuid features into properties target-i386: convert 'hv_spinlocks' feature into property target-i386: convert 'hv_relaxed' feature into property target-i386: convert 'hv_vapic' feature into property target-i386: convert 'check' and 'enforce' features into properties add visitor for parsing hz[KMG] input string target-i386: use visit_type_hz to parse tsc_freq property value target-i386: introduce vendor-override property target-i386: use define for cpuid vendor string size target-i386: replace uint32_t vendor fields by vendor string in x86_def_t target-i386: parse cpu_model string into set of stringified properties target-i386: use properties to set/unset user specified features on CPU target-i386: move init of "hypervisor" feature into CPU initializer from cpudef target-i386: move default init of cpuid_kvm_features bitmap into CPU initializer from cpudef target-i386: cleanup cpu_x86_find_by_name(), only fill x86_def_t in it qapi/qapi-visit-core.c | 11 + qapi/qapi-visit-core.h | 2 + qapi/string-input-visitor.c | 22 ++ target-i386/cpu.c | 691 +++++++++++++++++++++++++++----------------- target-i386/cpu.h | 14 +- target-i386/helper.c | 9 +- 6 files changed, 479 insertions(+), 270 deletions(-) -- 1.7.11.2