All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
To: qemu-devel@nongnu.org
Cc: vsementsov@virtuozzo.com, guangrong.xiao@linux.intel.com,
	mst@redhat.com, armbru@redhat.com, lcapitulino@redhat.com,
	stefanha@redhat.com, imammedo@redhat.com,
	cornelia.huck@de.ibm.com, den@openvz.org
Subject: [Qemu-devel] [PATCH 3/5] pc-dimm: add pc_dimm_build_list()
Date: Wed, 10 Feb 2016 11:49:24 +0300	[thread overview]
Message-ID: <1455094166-7381-4-git-send-email-vsementsov@virtuozzo.com> (raw)
In-Reply-To: <1455094166-7381-1-git-send-email-vsementsov@virtuozzo.com>

Like pc_dimm_build_list_sorted but not sorted - for cases where sorting
is not necessary. Add stubbed version too - for targets without
CONFIG_MEM_HOTPLUG.

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
---
 hw/mem/pc-dimm.c                | 15 +++++++++++++++
 include/hw/mem/pc-dimm.h        |  3 +++
 stubs/Makefile.objs             |  2 +-
 stubs/pc_dimm.c                 | 12 ++++++++++++
 stubs/qmp_pc_dimm_device_list.c |  7 -------
 5 files changed, 31 insertions(+), 8 deletions(-)
 create mode 100644 stubs/pc_dimm.c
 delete mode 100644 stubs/qmp_pc_dimm_device_list.c

diff --git a/hw/mem/pc-dimm.c b/hw/mem/pc-dimm.c
index 4a681bc..0f102c0 100644
--- a/hw/mem/pc-dimm.c
+++ b/hw/mem/pc-dimm.c
@@ -266,6 +266,21 @@ static int pc_dimm_build_list_sorted(Object *obj, void *opaque)
     return 0;
 }
 
+int pc_dimm_build_list(Object *obj, void *opaque)
+{
+    GSList **list = opaque;
+
+    if (object_dynamic_cast(obj, TYPE_PC_DIMM)) {
+        DeviceState *dev = DEVICE(obj);
+        if (dev->realized) { /* only realized DIMMs matter */
+            *list = g_slist_prepend(*list, dev);
+        }
+    }
+
+    object_child_foreach(obj, pc_dimm_build_list, opaque);
+    return 0;
+}
+
 uint64_t pc_dimm_get_free_addr(uint64_t address_space_start,
                                uint64_t address_space_size,
                                uint64_t *hint, uint64_t align, uint64_t size,
diff --git a/include/hw/mem/pc-dimm.h b/include/hw/mem/pc-dimm.h
index d83bf30..ab136a3 100644
--- a/include/hw/mem/pc-dimm.h
+++ b/include/hw/mem/pc-dimm.h
@@ -94,4 +94,7 @@ void pc_dimm_memory_plug(DeviceState *dev, MemoryHotplugState *hpms,
                          MemoryRegion *mr, uint64_t align, Error **errp);
 void pc_dimm_memory_unplug(DeviceState *dev, MemoryHotplugState *hpms,
                            MemoryRegion *mr);
+
+int pc_dimm_build_list(Object *obj, void *opaque);
+
 #endif
diff --git a/stubs/Makefile.objs b/stubs/Makefile.objs
index d7898a0..781c002 100644
--- a/stubs/Makefile.objs
+++ b/stubs/Makefile.objs
@@ -34,7 +34,7 @@ stub-obj-y += vmstate.o
 stub-obj-$(CONFIG_WIN32) += fd-register.o
 stub-obj-y += cpus.o
 stub-obj-y += kvm.o
-stub-obj-y += qmp_pc_dimm_device_list.o
+stub-obj-y += pc_dimm.o
 stub-obj-y += target-monitor-defs.o
 stub-obj-y += target-get-monitor-def.o
 stub-obj-y += vhost.o
diff --git a/stubs/pc_dimm.c b/stubs/pc_dimm.c
new file mode 100644
index 0000000..5312f50
--- /dev/null
+++ b/stubs/pc_dimm.c
@@ -0,0 +1,12 @@
+#include "qom/object.h"
+#include "hw/mem/pc-dimm.h"
+
+int qmp_pc_dimm_device_list(Object *obj, void *opaque)
+{
+   return 0;
+}
+
+int pc_dimm_build_list(Object *obj, void *opaque)
+{
+   return 0;
+}
diff --git a/stubs/qmp_pc_dimm_device_list.c b/stubs/qmp_pc_dimm_device_list.c
deleted file mode 100644
index 5cb220c..0000000
--- a/stubs/qmp_pc_dimm_device_list.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include "qom/object.h"
-#include "hw/mem/pc-dimm.h"
-
-int qmp_pc_dimm_device_list(Object *obj, void *opaque)
-{
-   return 0;
-}
-- 
1.8.3.1

  parent reply	other threads:[~2016-02-10  8:49 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-10  8:49 [Qemu-devel] [PATCH v7 0/5] don't use NVDIMM for balooning Vladimir Sementsov-Ogievskiy
2016-02-10  8:49 ` [Qemu-devel] [PATCH 1/5] move get_current_ram_size to virtio-balloon.c Vladimir Sementsov-Ogievskiy
2016-02-10  8:49 ` [Qemu-devel] [PATCH 2/5] pc-dimm: rename pc_dimm_built_list() Vladimir Sementsov-Ogievskiy
2016-02-10  8:49 ` Vladimir Sementsov-Ogievskiy [this message]
2016-02-10  8:49 ` [Qemu-devel] [PATCH 4/5] virtio-balloon: rewrite get_current_ram_size() Vladimir Sementsov-Ogievskiy
2016-02-10  8:49 ` [Qemu-devel] [PATCH 5/5] balloon: Use only 'pc-dimm' type dimm for ballooning Vladimir Sementsov-Ogievskiy
2016-02-16  5:56 ` [Qemu-devel] [PATCH v7 0/5] don't use NVDIMM for balooning Denis V. Lunev
2016-02-22  9:16 ` Denis V. Lunev
2016-02-23  5:15 ` Xiao Guangrong
  -- strict thread matches above, loose matches on Subject: below --
2016-02-05  8:18 [Qemu-devel] [PATCH " Vladimir Sementsov-Ogievskiy
2016-02-05  8:18 ` [Qemu-devel] [PATCH 3/5] pc-dimm: add pc_dimm_build_list() Vladimir Sementsov-Ogievskiy
2016-02-05 12:51   ` Igor Mammedov
2016-02-05 14:08     ` Vladimir Sementsov-Ogievskiy
2016-02-04 11:37 [Qemu-devel] [PATCH v5 0/5] don't use NVDIMM for balooning Vladimir Sementsov-Ogievskiy
2016-02-04 11:37 ` [Qemu-devel] [PATCH 3/5] pc-dimm: add pc_dimm_build_list() Vladimir Sementsov-Ogievskiy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1455094166-7381-4-git-send-email-vsementsov@virtuozzo.com \
    --to=vsementsov@virtuozzo.com \
    --cc=armbru@redhat.com \
    --cc=cornelia.huck@de.ibm.com \
    --cc=den@openvz.org \
    --cc=guangrong.xiao@linux.intel.com \
    --cc=imammedo@redhat.com \
    --cc=lcapitulino@redhat.com \
    --cc=mst@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.