summaryrefslogtreecommitdiffstats
path: root/include/exec
diff options
context:
space:
mode:
authorStefan Hajnoczi2017-05-18 11:16:38 +0200
committerStefan Hajnoczi2017-05-18 14:36:15 +0200
commit56821559f0ba682fe6b367815572e6f974d329ab (patch)
tree75e93f8fc47707f61c1f6ad5ac45c7609c8da15a /include/exec
parentMerge remote-tracking branch 'quintela/tags/migration/20170517' into staging (diff)
parentramblock: add new hmp command "info ramblock" (diff)
downloadqemu-56821559f0ba682fe6b367815572e6f974d329ab.tar.gz
qemu-56821559f0ba682fe6b367815572e6f974d329ab.tar.xz
qemu-56821559f0ba682fe6b367815572e6f974d329ab.zip
Merge remote-tracking branch 'dgilbert/tags/pull-hmp-20170517' into staging
HMP pull # gpg: Signature made Wed 17 May 2017 07:03:39 PM BST # gpg: using RSA key 0x0516331EBC5BFDE7 # gpg: Good signature from "Dr. David Alan Gilbert (RH2) <dgilbert@redhat.com>" # gpg: WARNING: This key is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # Primary key fingerprint: 45F5 C71B 4A0C B7FB 977A 9FA9 0516 331E BC5B FDE7 * dgilbert/tags/pull-hmp-20170517: ramblock: add new hmp command "info ramblock" utils: provide size_to_str() ramblock: add RAMBLOCK_FOREACH() Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'include/exec')
-rw-r--r--include/exec/ramlist.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/exec/ramlist.h b/include/exec/ramlist.h
index c59880de82..2e2ac6cb99 100644
--- a/include/exec/ramlist.h
+++ b/include/exec/ramlist.h
@@ -4,6 +4,7 @@
#include "qemu/queue.h"
#include "qemu/thread.h"
#include "qemu/rcu.h"
+#include "qemu/rcu_queue.h"
typedef struct RAMBlockNotifier RAMBlockNotifier;
@@ -54,6 +55,10 @@ typedef struct RAMList {
} RAMList;
extern RAMList ram_list;
+/* Should be holding either ram_list.mutex, or the RCU lock. */
+#define RAMBLOCK_FOREACH(block) \
+ QLIST_FOREACH_RCU(block, &ram_list.blocks, next)
+
void qemu_mutex_lock_ramlist(void);
void qemu_mutex_unlock_ramlist(void);
@@ -68,5 +73,6 @@ void ram_block_notifier_remove(RAMBlockNotifier *n);
void ram_block_notify_add(void *host, size_t size);
void ram_block_notify_remove(void *host, size_t size);
+void ram_block_dump(Monitor *mon);
#endif /* RAMLIST_H */