Message ID | 1357870231-26762-17-git-send-email-imammedo@redhat.com |
---|---|
State | New |
Headers | show |
On Fri, Jan 11, 2013 at 03:10:30AM +0100, Igor Mammedov wrote: > Signed-off-by: Igor Mammedov <imammedo@redhat.com> Reviewed-by: Eduardo Habkost <ehabkost@redhat.com> Will this be converted to a simple qdict_put() of the raw string value, to be parsed using visit_type_freq() (or something equivalent), in the future? It would be interesting to keep the ability to use "tsc-frequency=1GHz" on device_add/-device. > --- > v2: > make patch independent of visit_type_freq() > --- > target-i386/cpu.c | 5 ++++- > 1 files changed, 4 insertions(+), 1 deletions(-) > > diff --git a/target-i386/cpu.c b/target-i386/cpu.c > index ec27cf6..c3e1792 100644 > --- a/target-i386/cpu.c > +++ b/target-i386/cpu.c > @@ -1371,6 +1371,7 @@ static int cpu_x86_parse_featurestr(x86_def_t *x86_cpu_def, char *features, > } else if (!strcmp(featurestr, "tsc_freq")) { > int64_t tsc_freq; > char *err; > + QString *s; > > tsc_freq = strtosz_suffix_unit(val, &err, > STRTOSZ_DEFSUFFIX_B, 1000); > @@ -1378,7 +1379,9 @@ static int cpu_x86_parse_featurestr(x86_def_t *x86_cpu_def, char *features, > fprintf(stderr, "bad numerical value %s\n", val); > goto error; > } > - x86_cpu_def->tsc_khz = tsc_freq / 1000; > + s = qstring_new(); > + qstring_append_int(s, tsc_freq); > + qdict_put(*props, "tsc-frequency", s); > } else if (!strcmp(featurestr, "hv_spinlocks")) { > char *err; > numvalue = strtoul(val, &err, 0); > -- > 1.7.1 > >
On Mon, 14 Jan 2013 13:20:44 -0200 Eduardo Habkost <ehabkost@redhat.com> wrote: > On Fri, Jan 11, 2013 at 03:10:30AM +0100, Igor Mammedov wrote: > > Signed-off-by: Igor Mammedov <imammedo@redhat.com> > > Reviewed-by: Eduardo Habkost <ehabkost@redhat.com> > > Will this be converted to a simple qdict_put() of the raw string value, > to be parsed using visit_type_freq() (or something equivalent), in the > future? It would be interesting to keep the ability to use > "tsc-frequency=1GHz" on device_add/-device. Anthony was opposed to idea of special visitor. This patch allow us to move forward and in easily convert to visitor later if there will be agreement to adding new visitor. On the other hand we could leave it as it done here and enforce users to provide numeric value for "tsc-frequency" in via device_add interface while maintaining compatibility for legacy 'tsc_freq'. > > > > --- > > v2: > > make patch independent of visit_type_freq() > > --- > > target-i386/cpu.c | 5 ++++- > > 1 files changed, 4 insertions(+), 1 deletions(-) > > > > diff --git a/target-i386/cpu.c b/target-i386/cpu.c > > index ec27cf6..c3e1792 100644 > > --- a/target-i386/cpu.c > > +++ b/target-i386/cpu.c > > @@ -1371,6 +1371,7 @@ static int cpu_x86_parse_featurestr(x86_def_t > > *x86_cpu_def, char *features, } else if (!strcmp(featurestr, "tsc_freq")) > > { int64_t tsc_freq; > > char *err; > > + QString *s; > > > > tsc_freq = strtosz_suffix_unit(val, &err, > > STRTOSZ_DEFSUFFIX_B, > > 1000); @@ -1378,7 +1379,9 @@ static int > > cpu_x86_parse_featurestr(x86_def_t *x86_cpu_def, char *features, > > fprintf(stderr, "bad numerical value %s\n", val); goto error; > > } > > - x86_cpu_def->tsc_khz = tsc_freq / 1000; > > + s = qstring_new(); > > + qstring_append_int(s, tsc_freq); > > + qdict_put(*props, "tsc-frequency", s); > > } else if (!strcmp(featurestr, "hv_spinlocks")) { > > char *err; > > numvalue = strtoul(val, &err, 0); > > -- > > 1.7.1 > > > > >
On Mon, Jan 14, 2013 at 04:49:23PM +0100, Igor Mammedov wrote: > On Mon, 14 Jan 2013 13:20:44 -0200 > Eduardo Habkost <ehabkost@redhat.com> wrote: > > > On Fri, Jan 11, 2013 at 03:10:30AM +0100, Igor Mammedov wrote: > > > Signed-off-by: Igor Mammedov <imammedo@redhat.com> > > > > Reviewed-by: Eduardo Habkost <ehabkost@redhat.com> > > > > Will this be converted to a simple qdict_put() of the raw string value, > > to be parsed using visit_type_freq() (or something equivalent), in the > > future? It would be interesting to keep the ability to use > > "tsc-frequency=1GHz" on device_add/-device. > Anthony was opposed to idea of special visitor. > This patch allow us to move forward and in easily convert to visitor > later if there will be agreement to adding new visitor. > > On the other hand we could leave it as it done here and enforce users to > provide numeric value for "tsc-frequency" in via device_add interface > while maintaining compatibility for legacy 'tsc_freq'. I am starting to think that just using an integer without any special parsing for "tsc-frequencey" on device_add/-device would be much simpler. (so ignore where I said "it would be interesting to keep the ability" above). > > > > > > > > --- > > > v2: > > > make patch independent of visit_type_freq() > > > --- > > > target-i386/cpu.c | 5 ++++- > > > 1 files changed, 4 insertions(+), 1 deletions(-) > > > > > > diff --git a/target-i386/cpu.c b/target-i386/cpu.c > > > index ec27cf6..c3e1792 100644 > > > --- a/target-i386/cpu.c > > > +++ b/target-i386/cpu.c > > > @@ -1371,6 +1371,7 @@ static int cpu_x86_parse_featurestr(x86_def_t > > > *x86_cpu_def, char *features, } else if (!strcmp(featurestr, "tsc_freq")) > > > { int64_t tsc_freq; > > > char *err; > > > + QString *s; > > > > > > tsc_freq = strtosz_suffix_unit(val, &err, > > > STRTOSZ_DEFSUFFIX_B, > > > 1000); @@ -1378,7 +1379,9 @@ static int > > > cpu_x86_parse_featurestr(x86_def_t *x86_cpu_def, char *features, > > > fprintf(stderr, "bad numerical value %s\n", val); goto error; > > > } > > > - x86_cpu_def->tsc_khz = tsc_freq / 1000; > > > + s = qstring_new(); > > > + qstring_append_int(s, tsc_freq); > > > + qdict_put(*props, "tsc-frequency", s); > > > } else if (!strcmp(featurestr, "hv_spinlocks")) { > > > char *err; > > > numvalue = strtoul(val, &err, 0); > > > -- > > > 1.7.1 > > > > > > > > >
diff --git a/target-i386/cpu.c b/target-i386/cpu.c index ec27cf6..c3e1792 100644 --- a/target-i386/cpu.c +++ b/target-i386/cpu.c @@ -1371,6 +1371,7 @@ static int cpu_x86_parse_featurestr(x86_def_t *x86_cpu_def, char *features, } else if (!strcmp(featurestr, "tsc_freq")) { int64_t tsc_freq; char *err; + QString *s; tsc_freq = strtosz_suffix_unit(val, &err, STRTOSZ_DEFSUFFIX_B, 1000); @@ -1378,7 +1379,9 @@ static int cpu_x86_parse_featurestr(x86_def_t *x86_cpu_def, char *features, fprintf(stderr, "bad numerical value %s\n", val); goto error; } - x86_cpu_def->tsc_khz = tsc_freq / 1000; + s = qstring_new(); + qstring_append_int(s, tsc_freq); + qdict_put(*props, "tsc-frequency", s); } else if (!strcmp(featurestr, "hv_spinlocks")) { char *err; numvalue = strtoul(val, &err, 0);
Signed-off-by: Igor Mammedov <imammedo@redhat.com> --- v2: make patch independent of visit_type_freq() --- target-i386/cpu.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-)