it will notify ACPI subsystem about added DimmDevice

Signed-off-by: Igor Mammedov <imamm...@redhat.com>
---
 hw/mem-hotplug/dimm.c   |   13 +++++++++++++
 include/sysemu/sysemu.h |    3 +++
 stubs/Makefile.objs     |    1 +
 stubs/memory_hotplug.c  |    6 ++++++
 4 files changed, 23 insertions(+), 0 deletions(-)
 create mode 100644 stubs/memory_hotplug.c

diff --git a/hw/mem-hotplug/dimm.c b/hw/mem-hotplug/dimm.c
index 7e3e383..4ecc590 100644
--- a/hw/mem-hotplug/dimm.c
+++ b/hw/mem-hotplug/dimm.c
@@ -22,6 +22,17 @@
 #include "qemu/config-file.h"
 #include "qemu/bitmap.h"
 #include "qemu/range.h"
+#include "qemu/notify.h"
+#include "sysemu/sysemu.h"
+
+/* Memory hot-plug notifiers */
+static NotifierList mem_added_notifiers =
+    NOTIFIER_LIST_INITIALIZER(mem_added_notifiers);
+
+void qemu_register_mem_added_notifier(Notifier *notifier)
+{
+    notifier_list_add(&mem_added_notifiers, notifier);
+}
 
 static void dimm_bus_initfn(Object *obj)
 {
@@ -204,6 +215,8 @@ static void dimm_realize(DeviceState *dev, Error **errp)
 
     g_assert(dc->register_memory);
     dc->register_memory(bus, dimm, errp);
+
+    notifier_list_notify(&mem_added_notifiers, dev);
 }
 
 static void dimm_class_init(ObjectClass *klass, void *data)
diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h
index 2fb71af..9abbf71 100644
--- a/include/sysemu/sysemu.h
+++ b/include/sysemu/sysemu.h
@@ -156,6 +156,9 @@ void drive_hot_add(Monitor *mon, const QDict *qdict);
 /* CPU hotplug */
 void qemu_register_cpu_added_notifier(Notifier *notifier);
 
+/* Memory hotplug */
+void qemu_register_mem_added_notifier(Notifier *notifier);
+
 /* pcie aer error injection */
 void pcie_aer_inject_error_print(Monitor *mon, const QObject *data);
 int do_pcie_aer_inject_error(Monitor *mon,
diff --git a/stubs/Makefile.objs b/stubs/Makefile.objs
index 9b701b4..2476c3d 100644
--- a/stubs/Makefile.objs
+++ b/stubs/Makefile.objs
@@ -25,3 +25,4 @@ stub-obj-y += vm-stop.o
 stub-obj-y += vmstate.o
 stub-obj-$(CONFIG_WIN32) += fd-register.o
 stub-obj-y += cpus.o
+stub-obj-y += memory_hotplug.o
diff --git a/stubs/memory_hotplug.c b/stubs/memory_hotplug.c
new file mode 100644
index 0000000..60844f1
--- /dev/null
+++ b/stubs/memory_hotplug.c
@@ -0,0 +1,6 @@
+#include "qemu/notify.h"
+#include "sysemu/sysemu.h"
+
+void qemu_register_mem_added_notifier(Notifier *notifier)
+{
+}
-- 
1.7.1


Reply via email to