@@ -854,6 +854,45 @@ static void do_info_registers(Monitor *mon)
#endif
}
+static void qmp_query_cpus(Monitor *mon, QObject **ret_data)
+{
+ CPUState *env;
+ QList *cpu_list;
+
+ cpu_list = qlist_new();
+
+ /* just to set the default cpu if not already done */
+ mon_get_cpu();
+
+ for(env = first_cpu; env != NULL; env = env->next_cpu) {
+ QDict *cpu;
+ QObject *obj;
+
+ cpu_synchronize_state(env);
+
+ obj = qobject_from_jsonf("{ 'CPU': %d, 'current': %i, 'halted': %i }",
+ env->cpu_index, env == mon->mon_cpu,
+ env->halted);
+
+ cpu = qobject_to_qdict(obj);
+
+#if defined(TARGET_I386)
+ qdict_put(cpu, "pc", qint_from_int(env->eip + env->segs[R_CS].base));
+#elif defined(TARGET_PPC)
+ qdict_put(cpu, "nip", qint_from_int(env->nip));
+#elif defined(TARGET_SPARC)
+ qdict_put(cpu, "pc", qint_from_int(env->pc));
+ qdict_put(cpu, "npc", qint_from_int(env->npc));
+#elif defined(TARGET_MIPS)
+ qdict_put(cpu, "PC", qint_from_int(env->active_tc.PC));
+#endif
+
+ qlist_append(cpu_list, cpu);
+ }
+
+ *ret_data = QOBJECT(cpu_list);
+}
+
static void print_cpu_iter(QObject *obj, void *opaque)
{
QDict *cpu;
@@ -901,45 +940,6 @@ static void monitor_print_cpus(Monitor *mon, const QObject *data)
qlist_iter(cpu_list, print_cpu_iter, mon);
}
-static void qmp_query_cpus(Monitor *mon, QObject **ret_data)
-{
- CPUState *env;
- QList *cpu_list;
-
- cpu_list = qlist_new();
-
- /* just to set the default cpu if not already done */
- mon_get_cpu();
-
- for(env = first_cpu; env != NULL; env = env->next_cpu) {
- QDict *cpu;
- QObject *obj;
-
- cpu_synchronize_state(env);
-
- obj = qobject_from_jsonf("{ 'CPU': %d, 'current': %i, 'halted': %i }",
- env->cpu_index, env == mon->mon_cpu,
- env->halted);
-
- cpu = qobject_to_qdict(obj);
-
-#if defined(TARGET_I386)
- qdict_put(cpu, "pc", qint_from_int(env->eip + env->segs[R_CS].base));
-#elif defined(TARGET_PPC)
- qdict_put(cpu, "nip", qint_from_int(env->nip));
-#elif defined(TARGET_SPARC)
- qdict_put(cpu, "pc", qint_from_int(env->pc));
- qdict_put(cpu, "npc", qint_from_int(env->npc));
-#elif defined(TARGET_MIPS)
- qdict_put(cpu, "PC", qint_from_int(env->active_tc.PC));
-#endif
-
- qlist_append(cpu_list, cpu);
- }
-
- *ret_data = QOBJECT(cpu_list);
-}
-
static int do_cpu_set(Monitor *mon, const QDict *qdict, QObject **ret_data)
{
int index = qdict_get_int(qdict, "index");
So that next commit can change monitor_print_cpus() to call it. Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> --- monitor.c | 78 ++++++++++++++++++++++++++++++------------------------------ 1 files changed, 39 insertions(+), 39 deletions(-)