summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVadim Galitsyn <vadim.galitsyn@profitbricks.com>2017-08-29 17:30:22 +0200
committerDr. David Alan Gilbert <dgilbert@redhat.com>2017-09-14 15:52:10 +0100
commitd0f63c1e291a0c27cafc0e6faec5a84130b012e0 (patch)
tree4df9d877d79754cdbc0635903386a43b56e2c165
parent9aa3397f1999e569eae266cab844391e5ab65d81 (diff)
hmp: introduce 'info memory_size_summary' command
Add 'info memory_size_summary' command which is a sibling of QMP command query-memory-size-summary. It provides the following memory information in bytes: * base-memory - size of "base" memory specified with command line option -m. * plugged-memory - amount of memory that was hot-plugged. If target does not have CONFIG_MEM_HOTPLUG enabled, no value is reported. Signed-off-by: Vasilis Liaskovitis <vasilis.liaskovitis@profitbricks.com> Signed-off-by: Mohammed Gamal <mohammed.gamal@profitbricks.com> Signed-off-by: Eduardo Otubo <eduardo.otubo@profitbricks.com> Signed-off-by: Vadim Galitsyn <vadim.galitsyn@profitbricks.com> Reviewed-by: Eugene Crosser <evgenii.cherkashin@profitbricks.com> Cc: Dr. David Alan Gilbert <dgilbert@redhat.com> Cc: Markus Armbruster <armbru@redhat.com> Cc: Igor Mammedov <imammedo@redhat.com> Cc: Eric Blake <eblake@redhat.com> Cc: qemu-devel@nongnu.org Message-Id: <20170829153022.27004-4-vadim.galitsyn@profitbricks.com> Reviewed-by: Igor Mammedov <imammedo@redhat.com> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Fixed up comments from Igor's review
-rw-r--r--hmp-commands-info.hx16
-rw-r--r--hmp.c18
-rw-r--r--hmp.h1
3 files changed, 35 insertions, 0 deletions
diff --git a/hmp-commands-info.hx b/hmp-commands-info.hx
index 4ab7fcee98..1c6772597d 100644
--- a/hmp-commands-info.hx
+++ b/hmp-commands-info.hx
@@ -851,6 +851,22 @@ ETEXI
},
STEXI
+@item info memory_size_summary
+@findex memory_size_summary
+Display the amount of initially allocated and present hotpluggable (if
+enabled) memory in bytes.
+ETEXI
+
+ {
+ .name = "memory_size_summary",
+ .args_type = "",
+ .params = "",
+ .help = "show the amount of initially allocated and "
+ "present hotpluggable (if enabled) memory in bytes.",
+ .cmd = hmp_info_memory_size_summary,
+ },
+
+STEXI
@end table
ETEXI
diff --git a/hmp.c b/hmp.c
index cd046c6d71..0fb2bc7043 100644
--- a/hmp.c
+++ b/hmp.c
@@ -2862,3 +2862,21 @@ void hmp_info_vm_generation_id(Monitor *mon, const QDict *qdict)
hmp_handle_error(mon, &err);
qapi_free_GuidInfo(info);
}
+
+void hmp_info_memory_size_summary(Monitor *mon, const QDict *qdict)
+{
+ Error *err = NULL;
+ MemoryInfo *info = qmp_query_memory_size_summary(&err);
+ if (info) {
+ monitor_printf(mon, "base memory: %" PRIu64 "\n",
+ info->base_memory);
+
+ if (info->has_plugged_memory) {
+ monitor_printf(mon, "plugged memory: %" PRIu64 "\n",
+ info->plugged_memory);
+ }
+
+ qapi_free_MemoryInfo(info);
+ }
+ hmp_handle_error(mon, &err);
+}
diff --git a/hmp.h b/hmp.h
index 1ff455295e..3605003e4c 100644
--- a/hmp.h
+++ b/hmp.h
@@ -145,5 +145,6 @@ void hmp_info_dump(Monitor *mon, const QDict *qdict);
void hmp_info_ramblock(Monitor *mon, const QDict *qdict);
void hmp_hotpluggable_cpus(Monitor *mon, const QDict *qdict);
void hmp_info_vm_generation_id(Monitor *mon, const QDict *qdict);
+void hmp_info_memory_size_summary(Monitor *mon, const QDict *qdict);
#endif