From 0987d735a3a42c92f6e7e0caa8bab1b0139e3b54 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Wed, 21 Dec 2016 00:31:36 +0800 Subject: ramblock-notifier: new This adds a notify interface of ram block additions and removals. Signed-off-by: Paolo Bonzini --- numa.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'numa.c') diff --git a/numa.c b/numa.c index 379bc8a140..9f56be960f 100644 --- a/numa.c +++ b/numa.c @@ -25,6 +25,7 @@ #include "qemu/osdep.h" #include "sysemu/numa.h" #include "exec/cpu-common.h" +#include "exec/ramlist.h" #include "qemu/bitmap.h" #include "qom/cpu.h" #include "qemu/error-report.h" @@ -572,3 +573,31 @@ int numa_get_node_for_cpu(int idx) } return i; } + +void ram_block_notifier_add(RAMBlockNotifier *n) +{ + QLIST_INSERT_HEAD(&ram_list.ramblock_notifiers, n, next); +} + +void ram_block_notifier_remove(RAMBlockNotifier *n) +{ + QLIST_REMOVE(n, next); +} + +void ram_block_notify_add(void *host, size_t size) +{ + RAMBlockNotifier *notifier; + + QLIST_FOREACH(notifier, &ram_list.ramblock_notifiers, next) { + notifier->ram_block_added(notifier, host, size); + } +} + +void ram_block_notify_remove(void *host, size_t size) +{ + RAMBlockNotifier *notifier; + + QLIST_FOREACH(notifier, &ram_list.ramblock_notifiers, next) { + notifier->ram_block_removed(notifier, host, size); + } +} -- cgit 1.4.1