For target/m68k, the CPU type name is always the combination of the CPU model name and suffix. The CPU model names have been shown correctly in m68k_cpu_list_entry().
Use generic helper cpu_model_from_type() to show the CPU model name in m68k_cpu_list_entry(), rename @name to @model since it's for the CPU model name instead of the CPU type name, and adjusted output format to match with other targets. Signed-off-by: Gavin Shan <gs...@redhat.com> --- target/m68k/helper.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/target/m68k/helper.c b/target/m68k/helper.c index 0a1544cd68..47f2cee69a 100644 --- a/target/m68k/helper.c +++ b/target/m68k/helper.c @@ -49,14 +49,11 @@ static gint m68k_cpu_list_compare(gconstpointer a, gconstpointer b) static void m68k_cpu_list_entry(gpointer data, gpointer user_data) { - ObjectClass *c = data; - const char *typename; - char *name; - - typename = object_class_get_name(c); - name = g_strndup(typename, strlen(typename) - strlen("-" TYPE_M68K_CPU)); - qemu_printf("%s\n", name); - g_free(name); + const char *typename = object_class_get_name(OBJECT_CLASS(data)); + char *model = cpu_model_from_type(typename); + + qemu_printf(" %s\n", model); + g_free(model); } void m68k_cpu_list(void) @@ -65,6 +62,7 @@ void m68k_cpu_list(void) list = object_class_get_list(TYPE_M68K_CPU, false); list = g_slist_sort(list, m68k_cpu_list_compare); + qemu_printf("Available CPUs:\n"); g_slist_foreach(list, m68k_cpu_list_entry, NULL); g_slist_free(list); } -- 2.41.0