qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 1/2] hostmem: introduce host_memory_backend_mr_inite


From: Peter Xu
Subject: [Qemu-devel] [PATCH 1/2] hostmem: introduce host_memory_backend_mr_inited()
Date: Fri, 10 Mar 2017 21:09:29 +0800

We were checking this against memory region size of host memory
backend's mr field to see whether the mr has been inited. This is
efficient but less elegant. Let's make a helper for it to avoid
confusions, along with some notes.

Suggested-by: Peter Maydell <address@hidden>
Signed-off-by: Peter Xu <address@hidden>
---
 backends/hostmem.c       | 9 +++++++++
 include/sysemu/hostmem.h | 1 +
 2 files changed, 10 insertions(+)

diff --git a/backends/hostmem.c b/backends/hostmem.c
index 7f5de70..4e9ef62 100644
--- a/backends/hostmem.c
+++ b/backends/hostmem.c
@@ -243,6 +243,15 @@ static void host_memory_backend_init(Object *obj)
     backend->prealloc = mem_prealloc;
 }
 
+bool host_memory_backend_mr_inited(HostMemoryBackend *backend)
+{
+    /*
+     * NOTE: We forbid zero-length memory backend, so here zero means
+     * "we haven't inited the backend memory region yet".
+     */
+    return memory_region_size(&backend->mr) != 0;
+}
+
 MemoryRegion *
 host_memory_backend_get_memory(HostMemoryBackend *backend, Error **errp)
 {
diff --git a/include/sysemu/hostmem.h b/include/sysemu/hostmem.h
index ecae0cf..ed6a437 100644
--- a/include/sysemu/hostmem.h
+++ b/include/sysemu/hostmem.h
@@ -62,6 +62,7 @@ struct HostMemoryBackend {
     MemoryRegion mr;
 };
 
+bool host_memory_backend_mr_inited(HostMemoryBackend *backend);
 MemoryRegion *host_memory_backend_get_memory(HostMemoryBackend *backend,
                                              Error **errp);
 
-- 
2.7.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]