summaryrefslogtreecommitdiffstats
path: root/hw/mem/pc-dimm.c
diff options
context:
space:
mode:
authorPeter Maydell2015-03-08 13:47:13 +0100
committerPeter Maydell2015-03-08 13:47:13 +0100
commit9c31a8219a8fb6e790d5510987ae2c810ff968b5 (patch)
tree5c5edf0a2689898e157e696dc94cc270224f0db7 /hw/mem/pc-dimm.c
parentMerge remote-tracking branch 'remotes/spice/tags/pull-spice-20150304-1' into ... (diff)
parentdocs: add memory-hotplug.txt (diff)
downloadqemu-9c31a8219a8fb6e790d5510987ae2c810ff968b5.tar.gz
qemu-9c31a8219a8fb6e790d5510987ae2c810ff968b5.tar.xz
qemu-9c31a8219a8fb6e790d5510987ae2c810ff968b5.zip
Merge remote-tracking branch 'remotes/qmp-unstable/queue/qmp' into staging
* remotes/qmp-unstable/queue/qmp: docs: add memory-hotplug.txt qemu-options.hx: improve -m description virtio-balloon: Add some trace events virtio-balloon: Fix balloon not working correctly when hotplug memory pc-dimm: add a function to calculate VM's current RAM size Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'hw/mem/pc-dimm.c')
-rw-r--r--hw/mem/pc-dimm.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/hw/mem/pc-dimm.c b/hw/mem/pc-dimm.c
index f27a087061..de81b9ceab 100644
--- a/hw/mem/pc-dimm.c
+++ b/hw/mem/pc-dimm.c
@@ -100,6 +100,32 @@ int qmp_pc_dimm_device_list(Object *obj, void *opaque)
return 0;
}
+ram_addr_t get_current_ram_size(void)
+{
+ MemoryDeviceInfoList *info_list = NULL;
+ MemoryDeviceInfoList **prev = &info_list;
+ MemoryDeviceInfoList *info;
+ ram_addr_t size = ram_size;
+
+ qmp_pc_dimm_device_list(qdev_get_machine(), &prev);
+ for (info = info_list; info; info = info->next) {
+ MemoryDeviceInfo *value = info->value;
+
+ if (value) {
+ switch (value->kind) {
+ case MEMORY_DEVICE_INFO_KIND_DIMM:
+ size += value->dimm->size;
+ break;
+ default:
+ break;
+ }
+ }
+ }
+ qapi_free_MemoryDeviceInfoList(info_list);
+
+ return size;
+}
+
static int pc_dimm_slot2bitmap(Object *obj, void *opaque)
{
unsigned long *bitmap = opaque;