@@ -477,14 +477,17 @@ static void loongarch_la132_initfn(Object *obj)
static void loongarch_cpu_list_entry(gpointer data, gpointer user_data)
{
const char *typename = object_class_get_name(OBJECT_CLASS(data));
+ char *model = cpu_model_from_type(typename);
- qemu_printf("%s\n", typename);
+ qemu_printf(" %s\n", model);
+ g_free(model);
}
void loongarch_cpu_list(void)
{
GSList *list;
list = object_class_get_list_sorted(TYPE_LOONGARCH_CPU, false);
+ qemu_printf("Available CPUs:\n");
g_slist_foreach(list, loongarch_cpu_list_entry, NULL);
g_slist_free(list);
}
@@ -17,8 +17,7 @@ static void loongarch_cpu_add_definition(gpointer data, gpointer user_data)
CpuDefinitionInfo *info = g_new0(CpuDefinitionInfo, 1);
const char *typename = object_class_get_name(oc);
- info->name = g_strndup(typename,
- strlen(typename) - strlen("-" TYPE_LOONGARCH_CPU));
+ info->name = cpu_model_from_type(typename);
info->q_typename = g_strdup(typename);
QAPI_LIST_PREPEND(*cpu_list, info);
For target/loongarch, the registered CPU type name is always the combination of the CPU model name and suffix. Use cpu_model_from_type() to show the CPU model names. Signed-off-by: Gavin Shan <gshan@redhat.com> --- target/loongarch/cpu.c | 5 ++++- target/loongarch/loongarch-qmp-cmds.c | 3 +-- 2 files changed, 5 insertions(+), 3 deletions(-)