aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@redhat.com>2018-08-28 17:38:40 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2018-11-27 19:36:22 +0100
commit36ea397956c169aa79db9487de2ea65a938a13e9 (patch)
tree7a80364f8e728dc2a56d5c6ba1de4ce25717cc4a
parent15ffb43cbf453163e9ef712e8e558ff46123c7bc (diff)
downloadqemu-36ea397956c169aa79db9487de2ea65a938a13e9.zip
qemu-36ea397956c169aa79db9487de2ea65a938a13e9.tar.gz
qemu-36ea397956c169aa79db9487de2ea65a938a13e9.tar.bz2
hostmem-memfd: honour share=on/off property
The share=on/off property is used to modified mmap() MAP_SHARED setting. Make it on by default for convenience and compatibility reasons. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r--backends/hostmem-memfd.c4
-rw-r--r--qemu-options.hx4
2 files changed, 6 insertions, 2 deletions
diff --git a/backends/hostmem-memfd.c b/backends/hostmem-memfd.c
index b6836b2..1c3579e 100644
--- a/backends/hostmem-memfd.c
+++ b/backends/hostmem-memfd.c
@@ -59,7 +59,8 @@ memfd_backend_memory_alloc(HostMemoryBackend *backend, Error **errp)
name = object_get_canonical_path(OBJECT(backend));
memory_region_init_ram_from_fd(&backend->mr, OBJECT(backend),
- name, backend->size, true, fd, errp);
+ name, backend->size,
+ backend->share, fd, errp);
g_free(name);
}
@@ -131,6 +132,7 @@ memfd_backend_instance_init(Object *obj)
/* default to sealed file */
m->seal = true;
+ MEMORY_BACKEND(m)->share = true;
}
static void
diff --git a/qemu-options.hx b/qemu-options.hx
index f7df472..269eda7 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -4025,7 +4025,7 @@ Memory backend objects offer more control than the @option{-m} option that is
traditionally used to define guest RAM. Please refer to
@option{memory-backend-file} for a description of the options.
-@item -object memory-backend-memfd,id=@var{id},merge=@var{on|off},dump=@var{on|off},prealloc=@var{on|off},size=@var{size},host-nodes=@var{host-nodes},policy=@var{default|preferred|bind|interleave},seal=@var{on|off},hugetlb=@var{on|off},hugetlbsize=@var{size}
+@item -object memory-backend-memfd,id=@var{id},merge=@var{on|off},dump=@var{on|off},share=@var{on|off},prealloc=@var{on|off},size=@var{size},host-nodes=@var{host-nodes},policy=@var{default|preferred|bind|interleave},seal=@var{on|off},hugetlb=@var{on|off},hugetlbsize=@var{size}
Creates an anonymous memory file backend object, which allows QEMU to
share the memory with an external process (e.g. when using
@@ -4047,6 +4047,8 @@ with the @option{seal} option (requires at least Linux 4.16).
Please refer to @option{memory-backend-file} for a description of the
other options.
+The @option{share} boolean option is @var{on} by default with memfd.
+
@item -object rng-random,id=@var{id},filename=@var{/dev/random}
Creates a random number generator backend which obtains entropy from