Changes since v9: * rebased on top of https://github.com/afaerber/qemu-cpu/commits/qom-cpu-next based on v1.7.0-rc2 release, fixing several conflicts * skipped patches already commited to qom-cpu-next * fixed conflit introduced by f010bc6 "target-i386: add feature kvm_pv_unhalt", patch "target-i386: set [+-]feature using static properties" was ammended to include "feat-kvm-pv-unhalt" as static property * added patch to fix potentially uninitialized value accesses due to incorrect use of error_is_set(errp) if errp == NULL "target-i386: cpu: fix invalid use of error_is_set(errp) if errp == NULL"
v10 is available at: https://github.com/imammedo/qemu/commits/x86-cpu-properties.v10 reference to previous v9: http://qemu.11.n7.nabble.com/PATCH-qom-cpu-00-21-v9-target-i386-convert-CPU-features-into-properties-td213920.html --- It's reordered and rebased v8 plus CPUID feature bits conversion to properties and cleanups that are removing unused anymore *_feature_name arrays. dynamic => static properties conversion is still making sense as cleanup of initfn(), consolidating all properties in one place and making uniform property setters signatures, so it was kept. hyperv and dynamic => static properties conversion are covered by virt-test's qemu_cpu test group. On top of that, CPUID feature bits conversion and cleanups it's allowed. git for testing: https://github.com/imammedo/qemu/tree/x86-cpu-properties.v9 Igor Mammedov (16): target-i386: cleanup 'foo' feature handling' target-i386: cleanup 'foo=val' feature handling target-i386: cpu: convert 'level' to static property target-i386: cpu: convert 'xlevel' to static property target-i386: cpu: convert 'family' to static property target-i386: cpu: convert 'model' to static property target-i386: cpu: convert 'stepping' to static property target-i386: cpu: convert 'vendor' to static property target-i386: cpu: convert 'model-id' to static property target-i386: cpu: convert 'tsc-frequency' to static property target-i386: set [+-]feature using static properties qdev: introduce qdev_prop_find_bit() target-i386: use static properties in check_features_against_host() to print CPUID feature names target-i386: use static properties to list CPUID features target-i386: remove unused *_feature_name arrays target-i386: cpu: fix invalid use of error_is_set(errp) if errp == NULL hw/core/qdev-properties.c | 15 + include/hw/qdev-properties.h | 13 + target-i386/cpu.c | 665 ++++++++++++++++++++----------------------- 3 files changed, 338 insertions(+), 355 deletions(-) -- 1.8.3.1