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 *
qmp_query_cpu_model_expansion(CpuModelExpansionType type,CpuModelInfo * model,Error ** errp)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
mips_cpu_add_definition(gpointer data,gpointer user_data)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
qmp_query_cpu_definitions(Error ** errp)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