summaryrefslogtreecommitdiffstats
path: root/hmp.c
diff options
context:
space:
mode:
authorPeter Maydell2017-02-21 20:41:57 +0100
committerPeter Maydell2017-02-21 20:41:57 +0100
commite295a154c2a95f114e52ef4b0fb22b801b028bdc (patch)
tree95528d10774a6b5021083310dee65c7bbe376274 /hmp.c
parentMerge remote-tracking branch 'remotes/cody/tags/block-pull-request' into staging (diff)
parentmonitor: Fix crashes when using HMP commands without CPU (diff)
downloadqemu-e295a154c2a95f114e52ef4b0fb22b801b028bdc.tar.gz
qemu-e295a154c2a95f114e52ef4b0fb22b801b028bdc.tar.xz
qemu-e295a154c2a95f114e52ef4b0fb22b801b028bdc.zip
Merge remote-tracking branch 'remotes/dgilbert/tags/pull-hmp-20170221' into staging
HMP pull Note, I had seen a fail in the vhost-user/flags-mismatch on one host in one build, but not others with the same patches; and these patches go nowhere near that, so I think that's a separate vhost-user issue. # gpg: Signature made Tue 21 Feb 2017 18:49:25 GMT # gpg: using RSA key 0x0516331EBC5BFDE7 # gpg: Good signature from "Dr. David Alan Gilbert (RH2) <dgilbert@redhat.com>" # gpg: WARNING: This key is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # Primary key fingerprint: 45F5 C71B 4A0C B7FB 977A 9FA9 0516 331E BC5B FDE7 * remotes/dgilbert/tags/pull-hmp-20170221: monitor: Fix crashes when using HMP commands without CPU monitor: add poll-* properties into query-iothreads result hmp: fix block_set_io_throttle Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'hmp.c')
-rw-r--r--hmp.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/hmp.c b/hmp.c
index 2bc4f062bb..aba728f0de 100644
--- a/hmp.c
+++ b/hmp.c
@@ -1014,8 +1014,14 @@ void hmp_memsave(Monitor *mon, const QDict *qdict)
const char *filename = qdict_get_str(qdict, "filename");
uint64_t addr = qdict_get_int(qdict, "val");
Error *err = NULL;
+ int cpu_index = monitor_get_cpu_index();
- qmp_memsave(addr, size, filename, true, monitor_get_cpu_index(), &err);
+ if (cpu_index < 0) {
+ monitor_printf(mon, "No CPU available\n");
+ return;
+ }
+
+ qmp_memsave(addr, size, filename, true, cpu_index, &err);
hmp_handle_error(mon, &err);
}
@@ -1552,6 +1558,7 @@ void hmp_block_set_io_throttle(Monitor *mon, const QDict *qdict)
{
Error *err = NULL;
BlockIOThrottle throttle = {
+ .has_device = true,
.device = (char *) qdict_get_str(qdict, "device"),
.bps = qdict_get_int(qdict, "bps"),
.bps_rd = qdict_get_int(qdict, "bps_rd"),
@@ -2148,10 +2155,15 @@ void hmp_info_iothreads(Monitor *mon, const QDict *qdict)
{
IOThreadInfoList *info_list = qmp_query_iothreads(NULL);
IOThreadInfoList *info;
+ IOThreadInfo *value;
for (info = info_list; info; info = info->next) {
- monitor_printf(mon, "%s: thread_id=%" PRId64 "\n",
- info->value->id, info->value->thread_id);
+ value = info->value;
+ monitor_printf(mon, "%s:\n", value->id);
+ monitor_printf(mon, " thread_id=%" PRId64 "\n", value->thread_id);
+ monitor_printf(mon, " poll-max-ns=%" PRId64 "\n", value->poll_max_ns);
+ monitor_printf(mon, " poll-grow=%" PRId64 "\n", value->poll_grow);
+ monitor_printf(mon, " poll-shrink=%" PRId64 "\n", value->poll_shrink);
}
qapi_free_IOThreadInfoList(info_list);