On Wed, Aug 15, 2012 at 06:13:20PM +0200, Igor Mammedov wrote: > 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
FYI, I have rebase my work in progress on top of this, and on top of other series that are on the list. The result is at: https://github.com/ehabkost/qemu-hacks/commits/work/cpuid-refactor-v0.9-2012-08-15 On the branch above, the series are in this order: - "-cpu help" fixes from Peter Maydell - CPU DeviceState series from Anthony - My "move CPU models to C" series - Igor CPU properties series - A new (unsubmitted) version of my CPU model classes series - Work in progress branch (that I didn't submit yet) to simplify the handling of feature bits and feature names > > 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 > > -- Eduardo