summaryrefslogtreecommitdiffstats
path: root/target/s390x/kvm.c
diff options
context:
space:
mode:
authorMarcel Apfelbaum2017-12-13 15:37:37 +0100
committerMarcel Apfelbaum2018-02-19 12:03:24 +0100
commit06329ccecfa022494fdba288b3ab5bcb8dff4159 (patch)
tree6ac05bd91e27d422a5e7d4e1804d626f17216e8e /target/s390x/kvm.c
parentMerge remote-tracking branch 'remotes/dgilbert/tags/pull-hmp-20180216' into s... (diff)
downloadqemu-06329ccecfa022494fdba288b3ab5bcb8dff4159.tar.gz
qemu-06329ccecfa022494fdba288b3ab5bcb8dff4159.tar.xz
qemu-06329ccecfa022494fdba288b3ab5bcb8dff4159.zip
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>
Diffstat (limited to 'target/s390x/kvm.c')
-rw-r--r--target/s390x/kvm.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/target/s390x/kvm.c b/target/s390x/kvm.c
index 0301e9d519..e13c8907df 100644
--- a/target/s390x/kvm.c
+++ b/target/s390x/kvm.c
@@ -144,7 +144,7 @@ static int cap_gs;
static int active_cmma;
-static void *legacy_s390_alloc(size_t size, uint64_t *align);
+static void *legacy_s390_alloc(size_t size, uint64_t *align, bool shared);
static int kvm_s390_query_mem_limit(uint64_t *memory_limit)
{
@@ -752,7 +752,7 @@ int kvm_s390_mem_op(S390CPU *cpu, vaddr addr, uint8_t ar, void *hostbuf,
* to grow. We also have to use MAP parameters that avoid
* read-only mapping of guest pages.
*/
-static void *legacy_s390_alloc(size_t size, uint64_t *align)
+static void *legacy_s390_alloc(size_t size, uint64_t *align, bool shared)
{
void *mem;