Hello, This series introduces some QOM properties for X86CPU, so that our built-in init code exercises the same code paths as QMP, as suggested by Eduardo: * "family", * "model", * "stepping" and * "model-id" (rather than "model_id") This QOM'ifies my previously introduced helper functions, adding getters.
In the same spirit I've also introduced numeric QOM properties for: * "level" * "xlevel" * "tsc-frequency" (rather than "tsc_freq") Being uint32_t, "level" and "xlevel" would benefit from fixed-width visitors, as introduced in Michael's series. It seems his v4 was neither applied nor commented on and only some parts were integrated into Paolo's large rush-rush series... Would be nice to see Michael's full series merged soon! Further I've prepared one QOM property that's currently unused: * "vendor" (converting three words to string and back seemed too much overhead) By constrast, the HyperV -cpu property "hv_spinlocks" and flags "hv_relaxed" and "hv_vapic" do not seem to be per-CPU properties. Note that these properties are still somewhat orthogonal to the feature flags that Jinsong and Jan were discussing for machine compatibility IIUC. I'm hoping that some x86 guru can come up with a sensible follow-up for that. :-) Maybe bool properties per feature on an as-needed basis? Available from: git://github.com/afaerber/qemu-cpu.git qom-cpu-x86-prop.v1 https://github.com/afaerber/qemu-cpu/commits/qom-cpu-x86-prop.v1 Regards, Andreas Cc: Anthony Liguori <anth...@codemonkey.ws> Cc: Jan Kiszka <jan.kis...@siemens.com> Cc: Igor Mammedov <imamm...@redhat.com> Cc: Liu Jinsong <jinsong....@intel.com> Cc: Lai Jiangshan <la...@cn.fujitsu.com> Cc: Vasilis Liaskovitis <vasilis.liaskovi...@profitbricks.com> Cc: Eduardo Habkost <ehabk...@redhat.com> Cc: Michael Roth <mdr...@linux.vnet.ibm.com> Cc: Paolo Bonzini <pbonz...@redhat.com> Cc: Vadim Rozenfeld <vroze...@redhat.com> Andreas Färber (15): target-i386: Fix x86_cpuid_set_model_id() target-i386: Pass X86CPU to cpu_x86_register() target-i386: Add range check for -cpu ,family=x target-i386: Add "family" property to X86CPU target-i386: Add "model" property to X86CPU target-i386: Add "stepping" property to X86CPU target-i386: Add "model-id" property to X86CPU target-i386: Add property getter for CPU family target-i386: Add property getter for CPU model target-i386: Add property getter for CPU stepping target-i386: Add property getter for CPU model-id target-i386: Introduce "level" property for X86CPU target-i386: Introduce "xlevel" property for X86CPU target-i386: Prepare "vendor" property for X86CPU target-i386: Introduce "tsc-frequency" property for X86CPU target-i386/cpu.c | 319 +++++++++++++++++++++++++++++++++++++++++++++++--- target-i386/cpu.h | 2 +- target-i386/helper.c | 2 +- 3 files changed, 303 insertions(+), 20 deletions(-) -- 1.7.7