mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 16:53:55 -06:00
spapr: fix check of cpu alias name in spapr_get_cpu_core_type()
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 <groug@kaod.org> Reviewed-by: Bharata B Rao <bharata@linux.vnet.ibm.com> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
aa9026fd5e
commit
e17a87792d
1 changed files with 4 additions and 4 deletions
|
@ -92,20 +92,20 @@ char *spapr_get_cpu_core_type(const char *model)
|
||||||
gchar **model_pieces = g_strsplit(model, ",", 2);
|
gchar **model_pieces = g_strsplit(model, ",", 2);
|
||||||
|
|
||||||
core_type = g_strdup_printf("%s-%s", model_pieces[0], TYPE_SPAPR_CPU_CORE);
|
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 */
|
/* Check whether it exists or whether we have to look up an alias name */
|
||||||
if (!object_class_by_name(core_type)) {
|
if (!object_class_by_name(core_type)) {
|
||||||
const char *realmodel;
|
const char *realmodel;
|
||||||
|
|
||||||
g_free(core_type);
|
g_free(core_type);
|
||||||
realmodel = ppc_cpu_lookup_alias(model);
|
core_type = NULL;
|
||||||
|
realmodel = ppc_cpu_lookup_alias(model_pieces[0]);
|
||||||
if (realmodel) {
|
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;
|
return core_type;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue