mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 00:33:55 -06:00
i386: Get model-id from CPU object on "-cpu help"
When introducing versioned CPU models, the string at X86CPUDefinition::model_id might not be the model-id we'll really use. Instantiate a CPU object and check the model-id property on "-cpu help" Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Message-Id: <20190628002844.24894-4-ehabkost@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
This commit is contained in:
parent
dac1deae65
commit
164e779ce1
1 changed files with 13 additions and 3 deletions
|
@ -3837,18 +3837,28 @@ static GSList *get_sorted_cpu_model_list(void)
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static char *x86_cpu_class_get_model_id(X86CPUClass *xc)
|
||||||
|
{
|
||||||
|
Object *obj = object_new(object_class_get_name(OBJECT_CLASS(xc)));
|
||||||
|
char *r = object_property_get_str(obj, "model-id", &error_abort);
|
||||||
|
object_unref(obj);
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
|
||||||
static void x86_cpu_list_entry(gpointer data, gpointer user_data)
|
static void x86_cpu_list_entry(gpointer data, gpointer user_data)
|
||||||
{
|
{
|
||||||
ObjectClass *oc = data;
|
ObjectClass *oc = data;
|
||||||
X86CPUClass *cc = X86_CPU_CLASS(oc);
|
X86CPUClass *cc = X86_CPU_CLASS(oc);
|
||||||
char *name = x86_cpu_class_get_model_name(cc);
|
char *name = x86_cpu_class_get_model_name(cc);
|
||||||
const char *desc = cc->model_description;
|
char *desc = g_strdup(cc->model_description);
|
||||||
if (!desc && cc->cpu_def) {
|
|
||||||
desc = cc->cpu_def->model_id;
|
if (!desc) {
|
||||||
|
desc = x86_cpu_class_get_model_id(cc);
|
||||||
}
|
}
|
||||||
|
|
||||||
qemu_printf("x86 %-20s %-48s\n", name, desc);
|
qemu_printf("x86 %-20s %-48s\n", name, desc);
|
||||||
g_free(name);
|
g_free(name);
|
||||||
|
g_free(desc);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* list available CPU models and flags */
|
/* list available CPU models and flags */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue