提交 18f08282 编写于 作者: S Suraj Jitindar Singh 提交者: Dr. David Alan Gilbert

monitor: Add -a (all) option to info registers

The info registers command in the qemu monitor is used to dump register
values.

Currently this command uses the monitor cpu (which can be set by the
user) as the cpu for whose registers will be dumped. Sometimes it is
useful to see the registers for all cpus and currently this requires
setting the monitor cpu and the re-running the command for each cpu
in the system. I would be nice if there was an easier way to do this.

Add the "-a" option to the info registers command to dump the register
values for all cpus.
Signed-off-by: NSuraj Jitindar Singh <sjitindarsingh@gmail.com>

Message-Id: <20170608054116.17203-1-sjitindarsingh@gmail.com>
Reviewed-by: NDr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: NDr. David Alan Gilbert <dgilbert@redhat.com>
上级 454d7dc9
......@@ -100,9 +100,9 @@ ETEXI
{
.name = "registers",
.args_type = "",
.params = "",
.help = "show the cpu registers",
.args_type = "cpustate_all:-a",
.params = "[-a]",
.help = "show the cpu registers (-a: all - show register info for all cpus)",
.cmd = hmp_info_registers,
},
......
......@@ -1078,13 +1078,24 @@ int monitor_get_cpu_index(void)
static void hmp_info_registers(Monitor *mon, const QDict *qdict)
{
CPUState *cs = mon_get_cpu();
bool all_cpus = qdict_get_try_bool(qdict, "cpustate_all", false);
CPUState *cs;
if (!cs) {
monitor_printf(mon, "No CPU available\n");
return;
if (all_cpus) {
CPU_FOREACH(cs) {
monitor_printf(mon, "\nCPU#%d\n", cs->cpu_index);
cpu_dump_state(cs, (FILE *)mon, monitor_fprintf, CPU_DUMP_FPU);
}
} else {
cs = mon_get_cpu();
if (!cs) {
monitor_printf(mon, "No CPU available\n");
return;
}
cpu_dump_state(cs, (FILE *)mon, monitor_fprintf, CPU_DUMP_FPU);
}
cpu_dump_state(cs, (FILE *)mon, monitor_fprintf, CPU_DUMP_FPU);
}
static void hmp_info_jit(Monitor *mon, const QDict *qdict)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册