Message ID | 1366915386-14728-3-git-send-email-ehabkost@redhat.com |
---|---|
State | New |
Headers | show |
On Thu, 25 Apr 2013 15:43:01 -0300 Eduardo Habkost <ehabkost@redhat.com> wrote: > Introduce x86_cpu_compat_set_level(), which can be used by machine-type > init functions to keep compatibility when CPU models are changed. Doesn't seems to be used in this series. Why adding dead code, all that should be replaced by static properties in next release. I plan to respin properties series shortly after 1.5. > > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> > --- > target-i386/cpu.c | 22 ++++++++++++++++++++++ > target-i386/cpu.h | 1 + > 2 files changed, 23 insertions(+) > > diff --git a/target-i386/cpu.c b/target-i386/cpu.c > index a207474..6ef5842 100644 > --- a/target-i386/cpu.c > +++ b/target-i386/cpu.c > @@ -996,6 +996,28 @@ void x86_cpu_compat_set_features(const char *cpu_model, FeatureWord w, > } > } > > +/** > + * x86_cpu_compat_set_level: > + * @cpu_model: CPU model name to be changed. If NULL, all CPU models are changed > + * @level: New value for 'level' field on CPU model > + * > + * Change CPU model 'level' field for compatibility. > + * > + * This function may be used by machine-type compatibility functions > + * to set a backwards-compatible value for the 'level' field on CPU models. > + */ > +void x86_cpu_compat_set_level(const char *cpu_model, uint32_t level) > +{ > + x86_def_t *def; > + int i; > + for (i = 0; i < ARRAY_SIZE(builtin_x86_defs); i++) { > + def = &builtin_x86_defs[i]; > + if (!cpu_model || !strcmp(cpu_model, def->name)) { > + def->level = level; > + } > + } > +} > + > #ifdef CONFIG_KVM > static int cpu_x86_fill_model_id(char *str) > { > diff --git a/target-i386/cpu.h b/target-i386/cpu.h > index 60581e1..86a5988 100644 > --- a/target-i386/cpu.h > +++ b/target-i386/cpu.h > @@ -1256,6 +1256,7 @@ void disable_kvm_pv_eoi(void); > > void x86_cpu_compat_set_features(const char *cpu_model, FeatureWord w, > uint32_t feat_add, uint32_t feat_remove); > +void x86_cpu_compat_set_level(const char *cpu_model, uint32_t level); > > > /* Return name of 32-bit register, from a R_* constant */ > -- > 1.8.1.4 > >
On Fri, Apr 26, 2013 at 05:16:26PM +0200, Igor Mammedov wrote: > On Thu, 25 Apr 2013 15:43:01 -0300 > Eduardo Habkost <ehabkost@redhat.com> wrote: > > > Introduce x86_cpu_compat_set_level(), which can be used by machine-type > > init functions to keep compatibility when CPU models are changed. > Doesn't seems to be used in this series. Why adding dead code, all that should > be replaced by static properties in next release. I plan to respin properties > series shortly after 1.5. I was planning to include another patch that changed the "level" field on a CPU model, but in the end I left it out (it didn't look like a necessary bug fix for 1.5). When this series gets out of RFC status, I will remove the patch.
diff --git a/target-i386/cpu.c b/target-i386/cpu.c index a207474..6ef5842 100644 --- a/target-i386/cpu.c +++ b/target-i386/cpu.c @@ -996,6 +996,28 @@ void x86_cpu_compat_set_features(const char *cpu_model, FeatureWord w, } } +/** + * x86_cpu_compat_set_level: + * @cpu_model: CPU model name to be changed. If NULL, all CPU models are changed + * @level: New value for 'level' field on CPU model + * + * Change CPU model 'level' field for compatibility. + * + * This function may be used by machine-type compatibility functions + * to set a backwards-compatible value for the 'level' field on CPU models. + */ +void x86_cpu_compat_set_level(const char *cpu_model, uint32_t level) +{ + x86_def_t *def; + int i; + for (i = 0; i < ARRAY_SIZE(builtin_x86_defs); i++) { + def = &builtin_x86_defs[i]; + if (!cpu_model || !strcmp(cpu_model, def->name)) { + def->level = level; + } + } +} + #ifdef CONFIG_KVM static int cpu_x86_fill_model_id(char *str) { diff --git a/target-i386/cpu.h b/target-i386/cpu.h index 60581e1..86a5988 100644 --- a/target-i386/cpu.h +++ b/target-i386/cpu.h @@ -1256,6 +1256,7 @@ void disable_kvm_pv_eoi(void); void x86_cpu_compat_set_features(const char *cpu_model, FeatureWord w, uint32_t feat_add, uint32_t feat_remove); +void x86_cpu_compat_set_level(const char *cpu_model, uint32_t level); /* Return name of 32-bit register, from a R_* constant */
Introduce x86_cpu_compat_set_level(), which can be used by machine-type init functions to keep compatibility when CPU models are changed. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> --- target-i386/cpu.c | 22 ++++++++++++++++++++++ target-i386/cpu.h | 1 + 2 files changed, 23 insertions(+)