aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Hajnoczi <stefanha@redhat.com>2022-09-17 10:31:11 -0400
committerStefan Hajnoczi <stefanha@redhat.com>2022-09-17 10:31:11 -0400
commitd29201ff34a135cdfc197f4413c1c5047e4f58bb (patch)
tree618a3091278062e716f4cba5361a17005839c771
parent123a32f9b38c3bd22d47688d0bf0ab955d4152bc (diff)
parent22269b0436cc8e4aaac975b4c8cb01b343d09661 (diff)
downloadqemu-d29201ff34a135cdfc197f4413c1c5047e4f58bb.zip
qemu-d29201ff34a135cdfc197f4413c1c5047e4f58bb.tar.gz
qemu-d29201ff34a135cdfc197f4413c1c5047e4f58bb.tar.bz2
Merge tag 'pull-hmp-20220915a' of https://gitlab.com/dagrh/qemu into staging
HMP pull 2022-09-15 A set of 3 small additions/fixes. Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> # -----BEGIN PGP SIGNATURE----- # # iQIzBAABCAAdFiEERfXHG0oMt/uXep+pBRYzHrxb/ecFAmMjNG4ACgkQBRYzHrxb # /edRhhAAibHXFdK1EHtcABInxMVg50wZ7oD2QiYqKb1m0t9rQDSmZ/cX22qdYF7D # hBvjsMiniy6isGYyiPhpi+7ZMnid12E6EpZ49tFKbDz+DPfpT3mk/MOKvNQu150I # K8NuqD40HImpUzo7/OVVIzo26TsKMFUo7WzuzqP4PEguSCqVAlzuoVxId8oZ3DbT # c/VQTZjwLbi+i7DuuFc1pqfzC3euNEApM7DRAYNios+oGxd2kd+DC7JLqMKK4Uk1 # 5t5YmCz3Q+aFZ1kOvpxUW+3xT0LI4wzR0XA0ImA3jADaqt5G3dNOzosY2E7eaQen # AXpqu6dH5wbSl2y5LWSscgN8ObAs5N6n0+ncXtIYwMENBBkZpWtaDbTYp6ezcrww # 2st2qQ0MlUj8oiH3jMr5TtkZxcx9wXdEfrCDZ0MQt3275Bp6JuSW6DjqXjjpKimY # 2HsAPDKYFNVJl/9SX5PxW6cGPZyb/YMa+14YdIdMbWc8+q+4yMSQnTJbGvxLFakt # S/agxGu3hpEGrYUjCdl6JzIyOxdUVFp+Lp4NwhU+DI/1UaL1/QbiK+NxDXvkk+Wp # wcI7VbIXb6YMWf9Gmv4NQ1b4uTf8qoA7J0SNONrw9ywU4lhsm9UKoIoakKaSK9F8 # kI+vBt/mmZTCqNw8h4w/KNvrRFF5nP/vw117xdOGGbtCS7G8438= # =Isyw # -----END PGP SIGNATURE----- # gpg: Signature made Thu 15 Sep 2022 10:19:26 EDT # gpg: using RSA key 45F5C71B4A0CB7FB977A9FA90516331EBC5BFDE7 # gpg: Good signature from "Dr. David Alan Gilbert (RH2) <dgilbert@redhat.com>" [full] # Primary key fingerprint: 45F5 C71B 4A0C B7FB 977A 9FA9 0516 331E BC5B FDE7 * tag 'pull-hmp-20220915a' of https://gitlab.com/dagrh/qemu: hmp: Fix ordering of text monitor/hmp: print trace as option in help for log command monitor: Support specified vCPU registers Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
-rw-r--r--hmp-commands-info.hx8
-rw-r--r--hmp-commands.hx46
-rw-r--r--monitor/hmp.c9
-rw-r--r--monitor/misc.c10
4 files changed, 43 insertions, 30 deletions
diff --git a/hmp-commands-info.hx b/hmp-commands-info.hx
index 188d9ec..e012035 100644
--- a/hmp-commands-info.hx
+++ b/hmp-commands-info.hx
@@ -100,9 +100,11 @@ ERST
{
.name = "registers",
- .args_type = "cpustate_all:-a",
- .params = "[-a]",
- .help = "show the cpu registers (-a: all - show register info for all cpus)",
+ .args_type = "cpustate_all:-a,vcpu:i?",
+ .params = "[-a|vcpu]",
+ .help = "show the cpu registers (-a: show register info for all cpus;"
+ " vcpu: specific vCPU to query; show the current CPU's registers if"
+ " no argument is specified)",
.cmd = hmp_info_registers,
},
diff --git a/hmp-commands.hx b/hmp-commands.hx
index 182e639..8ab8000 100644
--- a/hmp-commands.hx
+++ b/hmp-commands.hx
@@ -1743,23 +1743,6 @@ SRST
ERST
{
- .name = "info",
- .args_type = "item:s?",
- .params = "[subcommand]",
- .help = "show various information about the system state",
- .cmd = hmp_info_help,
- .sub_table = hmp_info_cmds,
- .flags = "p",
- },
-
-SRST
-``calc_dirty_rate`` *second*
- Start a round of dirty rate measurement with the period specified in *second*.
- The result of the dirty rate measurement may be observed with ``info
- dirty_rate`` command.
-ERST
-
- {
.name = "calc_dirty_rate",
.args_type = "dirty_ring:-r,dirty_bitmap:-b,second:l,sample_pages_per_GB:l?",
.params = "[-r] [-b] second [sample_pages_per_GB]",
@@ -1770,10 +1753,10 @@ ERST
},
SRST
-``set_vcpu_dirty_limit``
- Set dirty page rate limit on virtual CPU, the information about all the
- virtual CPU dirty limit status can be observed with ``info vcpu_dirty_limit``
- command.
+``calc_dirty_rate`` *second*
+ Start a round of dirty rate measurement with the period specified in *second*.
+ The result of the dirty rate measurement may be observed with ``info
+ dirty_rate`` command.
ERST
{
@@ -1786,8 +1769,8 @@ ERST
},
SRST
-``cancel_vcpu_dirty_limit``
- Cancel dirty page rate limit on virtual CPU, the information about all the
+``set_vcpu_dirty_limit``
+ Set dirty page rate limit on virtual CPU, the information about all the
virtual CPU dirty limit status can be observed with ``info vcpu_dirty_limit``
command.
ERST
@@ -1800,3 +1783,20 @@ ERST
"\n\t\t\t\t\t limit on a specified virtual cpu",
.cmd = hmp_cancel_vcpu_dirty_limit,
},
+
+SRST
+``cancel_vcpu_dirty_limit``
+ Cancel dirty page rate limit on virtual CPU, the information about all the
+ virtual CPU dirty limit status can be observed with ``info vcpu_dirty_limit``
+ command.
+ERST
+
+ {
+ .name = "info",
+ .args_type = "item:s?",
+ .params = "[subcommand]",
+ .help = "show various information about the system state",
+ .cmd = hmp_info_help,
+ .sub_table = hmp_info_cmds,
+ .flags = "p",
+ },
diff --git a/monitor/hmp.c b/monitor/hmp.c
index 15ca047..a3375d0 100644
--- a/monitor/hmp.c
+++ b/monitor/hmp.c
@@ -285,10 +285,15 @@ void help_cmd(Monitor *mon, const char *name)
if (!strcmp(name, "log")) {
const QEMULogItem *item;
monitor_printf(mon, "Log items (comma separated):\n");
- monitor_printf(mon, "%-10s %s\n", "none", "remove all logs");
+ monitor_printf(mon, "%-15s %s\n", "none", "remove all logs");
for (item = qemu_log_items; item->mask != 0; item++) {
- monitor_printf(mon, "%-10s %s\n", item->name, item->help);
+ monitor_printf(mon, "%-15s %s\n", item->name, item->help);
}
+#ifdef CONFIG_TRACE_LOG
+ monitor_printf(mon, "trace:PATTERN enable trace events\n");
+ monitor_printf(mon, "\nUse \"log trace:help\" to get a list of "
+ "trace events.\n\n");
+#endif
return;
}
diff --git a/monitor/misc.c b/monitor/misc.c
index 3d2312b..6436a87 100644
--- a/monitor/misc.c
+++ b/monitor/misc.c
@@ -307,6 +307,7 @@ int monitor_get_cpu_index(Monitor *mon)
static void hmp_info_registers(Monitor *mon, const QDict *qdict)
{
bool all_cpus = qdict_get_try_bool(qdict, "cpustate_all", false);
+ int vcpu = qdict_get_try_int(qdict, "vcpu", -1);
CPUState *cs;
if (all_cpus) {
@@ -315,13 +316,18 @@ static void hmp_info_registers(Monitor *mon, const QDict *qdict)
cpu_dump_state(cs, NULL, CPU_DUMP_FPU);
}
} else {
- cs = mon_get_cpu(mon);
+ cs = vcpu >= 0 ? qemu_get_cpu(vcpu) : mon_get_cpu(mon);
if (!cs) {
- monitor_printf(mon, "No CPU available\n");
+ if (vcpu >= 0) {
+ monitor_printf(mon, "CPU#%d not available\n", vcpu);
+ } else {
+ monitor_printf(mon, "No CPU available\n");
+ }
return;
}
+ monitor_printf(mon, "\nCPU#%d\n", cs->cpu_index);
cpu_dump_state(cs, NULL, CPU_DUMP_FPU);
}
}