aboutsummaryrefslogtreecommitdiff
path: root/monitor.c
diff options
context:
space:
mode:
authorSuraj Jitindar Singh <sjitindarsingh@gmail.com>2017-06-08 15:41:16 +1000
committerDr. David Alan Gilbert <dgilbert@redhat.com>2017-06-29 17:14:11 +0100
commit18f0828278c62bf5b50ec24a012073cd79535481 (patch)
tree4b01185a1da58b648732b1f50823873e6c4ef08f /monitor.c
parent454d7dc9bc13e46084e0612076e6952c40f4afeb (diff)
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: Suraj Jitindar Singh <sjitindarsingh@gmail.com> Message-Id: <20170608054116.17203-1-sjitindarsingh@gmail.com> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Diffstat (limited to 'monitor.c')
-rw-r--r--monitor.c21
1 files changed, 16 insertions, 5 deletions
diff --git a/monitor.c b/monitor.c
index 3c369f4dd5..4031876411 100644
--- a/monitor.c
+++ b/monitor.c
@@ -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)