On Wed, Apr 18, 2012 at 01:11:04AM +0200, Andreas Färber wrote: > 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!
Thanks for the advertising :). From what I can tell the main conflict with Paolo's series is: qdev: switch property accessors to fixed-width visitor interfaces So if I resent with that patch dropped and let Paolo carry it in his patchset I think he'd still be able to rebase clearly and you could drop some of your TODOs. I'll rebase/resend those tomorrow if you think that sounds reasonable. > > 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 >