[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [PATCH] spapr: fix check of cpu alias name in spapr_get_c
From: |
Bharata B Rao |
Subject: |
Re: [Qemu-ppc] [PATCH] spapr: fix check of cpu alias name in spapr_get_cpu_core_type() |
Date: |
Mon, 3 Oct 2016 20:44:22 +0530 |
User-agent: |
Mutt/1.6.1 (2016-04-27) |
On Mon, Oct 03, 2016 at 02:13:20PM +0200, Greg Kurz wrote:
> If the user passes an alias name and a property to -cpu, QEMU fails to
> find the CPU definition and exits.
>
> $ qemu-system-ppc64 -cpu POWER8E,compat=power7
> qemu-system-ppc64: Unable to find sPAPR CPU Core definition
>
> This happens because spapr_get_cpu_core_type() passes the full string from
> the command line (i.e. "POWER8E,compat=power7") to ppc_cpu_lookup_alias(),
> instead of the alias name piece only (i.e. "POWER8E").
>
> The fix is to pass model_pieces[0] to ppc_cpu_lookup_alias().
>
> Signed-off-by: Greg Kurz <address@hidden>
Reviewed-by: Bharata B Rao <address@hidden>
> ---
> hw/ppc/spapr_cpu_core.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/hw/ppc/spapr_cpu_core.c b/hw/ppc/spapr_cpu_core.c
> index 6f0533c34259..35d1873b9ff3 100644
> --- a/hw/ppc/spapr_cpu_core.c
> +++ b/hw/ppc/spapr_cpu_core.c
> @@ -92,20 +92,20 @@ char *spapr_get_cpu_core_type(const char *model)
> gchar **model_pieces = g_strsplit(model, ",", 2);
>
> core_type = g_strdup_printf("%s-%s", model_pieces[0],
> TYPE_SPAPR_CPU_CORE);
> - g_strfreev(model_pieces);
>
> /* Check whether it exists or whether we have to look up an alias name */
> if (!object_class_by_name(core_type)) {
> const char *realmodel;
>
> g_free(core_type);
> - realmodel = ppc_cpu_lookup_alias(model);
> + core_type = NULL;
> + realmodel = ppc_cpu_lookup_alias(model_pieces[0]);
> if (realmodel) {
> - return spapr_get_cpu_core_type(realmodel);
> + core_type = spapr_get_cpu_core_type(realmodel);
> }
> - return NULL;
> }
>
> + g_strfreev(model_pieces);
> return core_type;
> }
>