mem: add share parameter to memory-backend-ram
commit06329ccecfa022494fdba288b3ab5bcb8dff4159
authorMarcel Apfelbaum <marcel@redhat.com>
Wed, 13 Dec 2017 14:37:37 +0000 (13 16:37 +0200)
committerMarcel Apfelbaum <marcel@redhat.com>
Mon, 19 Feb 2018 11:03:24 +0000 (19 13:03 +0200)
tree6ac05bd91e27d422a5e7d4e1804d626f17216e8e
parente5ecc287a7bd24a1364e23e263cb60cfc8d21eb5
mem: add share parameter to memory-backend-ram

Currently only file backed memory backend can
be created with a "share" flag in order to allow
sharing guest RAM with other processes in the host.

Add the "share" flag also to RAM Memory Backend
in order to allow remapping parts of the guest RAM
to different host virtual addresses. This is needed
by the RDMA devices in order to remap non-contiguous
QEMU virtual addresses to a contiguous virtual address range.

Moved the "share" flag to the Host Memory base class,
modified phys_mem_alloc to include the new parameter
and a new interface memory_region_init_ram_shared_nomigrate.

There are no functional changes if the new flag is not used.

Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Marcel Apfelbaum <marcel@redhat.com>
14 files changed:
backends/hostmem-file.c
backends/hostmem-ram.c
backends/hostmem.c
exec.c
include/exec/memory.h
include/exec/ram_addr.h
include/qemu/osdep.h
include/sysemu/hostmem.h
include/sysemu/kvm.h
memory.c
qemu-options.hx
target/s390x/kvm.c
util/oslib-posix.c
util/oslib-win32.c