1 /* 2 * QEMU MIPS CPU (monitor definitions) 3 * 4 * SPDX-FileCopyrightText: 2012 SUSE LINUX Products GmbH 5 * 6 * SPDX-License-Identifier: LGPL-2.1-or-later 7 */ 8 9 #include "qemu/osdep.h" 10 #include "qapi/error.h" 11 #include "qapi/qapi-commands-machine.h" 12 #include "cpu.h" 13 14 CpuModelExpansionInfo * 15 qmp_query_cpu_model_expansion(CpuModelExpansionType type, 16 CpuModelInfo *model, 17 Error **errp) 18 { 19 error_setg(errp, "CPU model expansion is not supported on this target"); 20 return NULL; 21 } 22 23 static void mips_cpu_add_definition(gpointer data, gpointer user_data) 24 { 25 ObjectClass *oc = data; 26 CpuDefinitionInfoList **cpu_list = user_data; 27 CpuDefinitionInfo *info; 28 const char *typename; 29 30 typename = object_class_get_name(oc); 31 info = g_malloc0(sizeof(*info)); 32 info->name = cpu_model_from_type(typename); 33 info->q_typename = g_strdup(typename); 34 35 QAPI_LIST_PREPEND(*cpu_list, info); 36 } 37 38 CpuDefinitionInfoList *qmp_query_cpu_definitions(Error **errp) 39 { 40 CpuDefinitionInfoList *cpu_list = NULL; 41 GSList *list; 42 43 list = object_class_get_list(TYPE_MIPS_CPU, false); 44 g_slist_foreach(list, mips_cpu_add_definition, &cpu_list); 45 g_slist_free(list); 46 47 return cpu_list; 48 } 49