[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2] target-i386: Improve x86_cpu_list output
From: |
Andreas Färber |
Subject: |
Re: [Qemu-devel] [PATCH v2] target-i386: Improve x86_cpu_list output |
Date: |
Wed, 27 Feb 2013 10:33:24 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130215 Thunderbird/17.0.3 |
Am 27.02.2013 10:15, schrieb Jan Kiszka:
> Several issues fixed:
> - We were missing a bunch of feature lists. Fix this by simply dumping
> the meta list feature_word_info.
> - kvm_enabled() cannot be true at this point because accelerators are
> initialized much later during init. Also, hiding this makes it very
> hard to discover for users. Simply dump unconditionally if CONFIG_KVM
> is set.
> - Add explanation for "host" CPU type.
>
> Signed-off-by: Jan Kiszka <address@hidden>
> ---
>
> Changes in v2:
> - Do not dump "host" type if CONFIG_KVM is not set
> - Explain that "host" depends on KVM mode
I had requested on v1 to not fix multiple issues in one patch, but I can
split it myself on Friday if there's no other issues.
Andreas
>
> target-i386/cpu.c | 23 ++++++++++++-----------
> 1 files changed, 12 insertions(+), 11 deletions(-)
>
> diff --git a/target-i386/cpu.c b/target-i386/cpu.c
> index 5582e5f..b4189c3 100644
> --- a/target-i386/cpu.c
> +++ b/target-i386/cpu.c
> @@ -1463,18 +1463,19 @@ void x86_cpu_list(FILE *f, fprintf_function
> cpu_fprintf)
> snprintf(buf, sizeof(buf), "%s", def->name);
> (*cpu_fprintf)(f, "x86 %16s %-48s\n", buf, def->model_id);
> }
> - if (kvm_enabled()) {
> - (*cpu_fprintf)(f, "x86 %16s\n", "[host]");
> - }
> +#ifdef CONFIG_KVM
> + (*cpu_fprintf)(f, "x86 %16s %-48s\n", "host",
> + "KVM processor with all supported host features "
> + "(only available in KVM mode)");
> +#endif
> +
> (*cpu_fprintf)(f, "\nRecognized CPUID flags:\n");
> - listflags(buf, sizeof(buf), (uint32_t)~0, feature_name, 1);
> - (*cpu_fprintf)(f, " %s\n", buf);
> - listflags(buf, sizeof(buf), (uint32_t)~0, ext_feature_name, 1);
> - (*cpu_fprintf)(f, " %s\n", buf);
> - listflags(buf, sizeof(buf), (uint32_t)~0, ext2_feature_name, 1);
> - (*cpu_fprintf)(f, " %s\n", buf);
> - listflags(buf, sizeof(buf), (uint32_t)~0, ext3_feature_name, 1);
> - (*cpu_fprintf)(f, " %s\n", buf);
> + for (i = 0; i < ARRAY_SIZE(feature_word_info); i++) {
> + FeatureWordInfo *fw = &feature_word_info[i];
> +
> + listflags(buf, sizeof(buf), (uint32_t)~0, fw->feat_names, 1);
> + (*cpu_fprintf)(f, " %s\n", buf);
> + }
> }
>
> CpuDefinitionInfoList *arch_query_cpu_definitions(Error **errp)
>
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg