From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:58504) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TB0Tg-0001Ce-IX for qemu-devel@nongnu.org; Mon, 10 Sep 2012 05:40:30 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TB0Tf-0005si-5v for qemu-devel@nongnu.org; Mon, 10 Sep 2012 05:40:24 -0400 Received: from mx1.redhat.com ([209.132.183.28]:50246) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TB0Te-0005rL-Th for qemu-devel@nongnu.org; Mon, 10 Sep 2012 05:40:23 -0400 Date: Mon, 10 Sep 2012 11:40:16 +0200 From: Igor Mammedov Message-ID: <20120910114016.208112c3@nial.usersys.redhat.com> In-Reply-To: <1346877673-9136-2-git-send-email-ehabkost@redhat.com> References: <1346877673-9136-1-git-send-email-ehabkost@redhat.com> <1346877673-9136-2-git-send-email-ehabkost@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 1/7] target-i386: Fold -cpu ?cpuid, ?model output into -cpu help, drop ?dump List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Eduardo Habkost Cc: Peter Maydell , qemu-devel@nongnu.org, Anthony Liguori , Andreas =?ISO-8859-1?B?RuRyYmVy?= On Wed, 5 Sep 2012 17:41:07 -0300 Eduardo Habkost wrote: > From: Peter Maydell > > Commit c8057f95 (accidentally) disabled the ability to pass > option strings starting with '?' to the target-specific > cpu_list function, so the target-i386 specific "-cpu ?dump", > "-cpu ?cpuid" and "-cpu ?model" stopped working. > > Since these options are undocumented and not used by libvirt, > simply drop them completely rather than reinstating them > with new style syntax. Instead, we fold the ?model and ?cpuid > output into the output of the plain "-cpu help" output. The > detailed output produced by ?dump is dropped. > > Signed-off-by: Peter Maydell > Signed-off-by: Eduardo Habkost > Reviewed-by: Eduardo Habkost > --- > target-i386/cpu.c | 64 > ++++++++++--------------------------------------------- 1 file changed, 11 > insertions(+), 53 deletions(-) > > diff --git a/target-i386/cpu.c b/target-i386/cpu.c > index 423e009..5c98064 100644 > --- a/target-i386/cpu.c > +++ b/target-i386/cpu.c > @@ -1073,70 +1073,28 @@ static void listflags(char *buf, int bufsize, > uint32_t fbits, } > } > > -/* generate CPU information: > - * -? list model names > - * -?model list model names/IDs > - * -?dump output all model (x86_def_t) data > - * -?cpuid list all recognized cpuid flag names > - */ > +/* generate CPU information */ > void x86_cpu_list(FILE *f, fprintf_function cpu_fprintf, const char > *optarg) { > - unsigned char model = !strcmp("?model", optarg); > - unsigned char dump = !strcmp("?dump", optarg); > - unsigned char cpuid = !strcmp("?cpuid", optarg); > x86_def_t *def; > char buf[256]; > > - if (cpuid) { > - (*cpu_fprintf)(f, "Recognized CPUID flags:\n"); > - listflags(buf, sizeof (buf), (uint32_t)~0, feature_name, 1); > - (*cpu_fprintf)(f, " f_edx: %s\n", buf); > - listflags(buf, sizeof (buf), (uint32_t)~0, ext_feature_name, 1); > - (*cpu_fprintf)(f, " f_ecx: %s\n", buf); > - listflags(buf, sizeof (buf), (uint32_t)~0, ext2_feature_name, 1); > - (*cpu_fprintf)(f, " extf_edx: %s\n", buf); > - listflags(buf, sizeof (buf), (uint32_t)~0, ext3_feature_name, 1); > - (*cpu_fprintf)(f, " extf_ecx: %s\n", buf); > - return; > - } > for (def = x86_defs; def; def = def->next) { > snprintf(buf, sizeof (buf), def->flags ? "[%s]": "%s", def->name); > - if (model || dump) { > - (*cpu_fprintf)(f, "x86 %16s %-48s\n", buf, def->model_id); > - } else { > - (*cpu_fprintf)(f, "x86 %16s\n", buf); > - } > - if (dump) { > - memcpy(buf, &def->vendor1, sizeof (def->vendor1)); > - memcpy(buf + 4, &def->vendor2, sizeof (def->vendor2)); > - memcpy(buf + 8, &def->vendor3, sizeof (def->vendor3)); > - buf[12] = '\0'; > - (*cpu_fprintf)(f, > - " family %d model %d stepping %d level %d xlevel 0x%x" > - " vendor \"%s\"\n", > - def->family, def->model, def->stepping, def->level, > - def->xlevel, buf); > - listflags(buf, sizeof (buf), def->features, feature_name, 0); > - (*cpu_fprintf)(f, " feature_edx %08x (%s)\n", def->features, > - buf); > - listflags(buf, sizeof (buf), def->ext_features, > ext_feature_name, > - 0); > - (*cpu_fprintf)(f, " feature_ecx %08x (%s)\n", > def->ext_features, > - buf); > - listflags(buf, sizeof (buf), def->ext2_features, > ext2_feature_name, > - 0); > - (*cpu_fprintf)(f, " extfeature_edx %08x (%s)\n", > - def->ext2_features, buf); > - listflags(buf, sizeof (buf), def->ext3_features, > ext3_feature_name, > - 0); > - (*cpu_fprintf)(f, " extfeature_ecx %08x (%s)\n", > - def->ext3_features, buf); > - (*cpu_fprintf)(f, "\n"); > - } > + (*cpu_fprintf)(f, "x86 %16s %-48s\n", buf, def->model_id); > } > if (kvm_enabled()) { > (*cpu_fprintf)(f, "x86 %16s\n", "[host]"); > } > + (*cpu_fprintf)(f, "\nRecognized CPUID flags:\n"); > + listflags(buf, sizeof(buf), (uint32_t)~0, feature_name, 1); > + (*cpu_fprintf)(f, " f_edx: %s\n", buf); > + listflags(buf, sizeof(buf), (uint32_t)~0, ext_feature_name, 1); > + (*cpu_fprintf)(f, " f_ecx: %s\n", buf); > + listflags(buf, sizeof(buf), (uint32_t)~0, ext2_feature_name, 1); > + (*cpu_fprintf)(f, " extf_edx: %s\n", buf); > + listflags(buf, sizeof(buf), (uint32_t)~0, ext3_feature_name, 1); > + (*cpu_fprintf)(f, " extf_ecx: %s\n", buf); > } > > CpuDefinitionInfoList *arch_query_cpu_definitions(Error **errp) Reviewed-by: Igor Mammedov