diff options
author | Peter Xu <peterx@redhat.com> | 2017-03-10 21:09:29 +0800 |
---|---|---|
committer | Eduardo Habkost <ehabkost@redhat.com> | 2017-04-20 15:22:41 -0300 |
commit | 4728b5741040df8bd02a5ad8fd3c2beefae3dcb1 (patch) | |
tree | 86294e46f43683248c85313a53b05e6214100eaa | |
parent | 991db247745c1de161d665f847fd28618212f2e8 (diff) | |
download | qemu-4728b5741040df8bd02a5ad8fd3c2beefae3dcb1.zip qemu-4728b5741040df8bd02a5ad8fd3c2beefae3dcb1.tar.gz qemu-4728b5741040df8bd02a5ad8fd3c2beefae3dcb1.tar.bz2 |
hostmem: introduce host_memory_backend_mr_inited()
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 <peter.maydell@linaro.org>
Signed-off-by: Peter Xu <peterx@redhat.com>
Message-Id: <1489151370-15453-2-git-send-email-peterx@redhat.com>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
-rw-r--r-- | backends/hostmem.c | 9 | ||||
-rw-r--r-- | include/sysemu/hostmem.h | 1 |
2 files changed, 10 insertions, 0 deletions
diff --git a/backends/hostmem.c b/backends/hostmem.c index 89feb9e..d8faab4 100644 --- a/backends/hostmem.c +++ b/backends/hostmem.c @@ -237,6 +237,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); |