26ba25
From 619064cd5e5f275a0d61fcd05855b1598c2d654b Mon Sep 17 00:00:00 2001
26ba25
From: Cornelia Huck <cohuck@redhat.com>
26ba25
Date: Wed, 1 Aug 2018 11:09:14 +0200
26ba25
Subject: [PATCH 267/268] s390x/sclp: fix maxram calculation
26ba25
26ba25
RH-Author: Cornelia Huck <cohuck@redhat.com>
26ba25
Message-id: <20180801110914.17729-1-cohuck@redhat.com>
26ba25
Patchwork-id: 81564
26ba25
O-Subject: [RHEL-7.6 qemu-kvm-ma PATCH] s390x/sclp: fix maxram calculation
26ba25
Bugzilla: 1595740
26ba25
RH-Acked-by: David Hildenbrand <david@redhat.com>
26ba25
RH-Acked-by: Thomas Huth <thuth@redhat.com>
26ba25
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
26ba25
26ba25
From: Christian Borntraeger <borntraeger@de.ibm.com>
26ba25
26ba25
We clamp down ram_size to match the sclp increment size. We do
26ba25
not do the same for maxram_size, which means for large guests
26ba25
with some sizes (e.g. -m 50000) maxram_size differs from ram_size.
26ba25
This can break other code (e.g. CMMA migration) which uses maxram_size
26ba25
to calculate the number of pages and then throws some errors.
26ba25
26ba25
Fixes: 82fab5c5b90e468f3e9d54c ("s390x/sclp: remove memory hotplug support")
26ba25
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
26ba25
CC: qemu-stable@nongnu.org
26ba25
CC: David Hildenbrand <david@redhat.com>
26ba25
Message-Id: <1532959766-53343-1-git-send-email-borntraeger@de.ibm.com>
26ba25
Reviewed-by: David Hildenbrand <david@redhat.com>
26ba25
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
26ba25
(cherry picked from commit 408e5ace517ff18c9c7cd918fc93358162e6e26d)
26ba25
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
26ba25
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
26ba25
---
26ba25
 hw/s390x/sclp.c | 1 +
26ba25
 1 file changed, 1 insertion(+)
26ba25
26ba25
diff --git a/hw/s390x/sclp.c b/hw/s390x/sclp.c
26ba25
index 047d577..2abdb62 100644
26ba25
--- a/hw/s390x/sclp.c
26ba25
+++ b/hw/s390x/sclp.c
26ba25
@@ -319,6 +319,7 @@ static void sclp_memory_init(SCLPDevice *sclp)
26ba25
     initial_mem = initial_mem >> increment_size << increment_size;
26ba25
 
26ba25
     machine->ram_size = initial_mem;
26ba25
+    machine->maxram_size = initial_mem;
26ba25
     /* let's propagate the changed ram size into the global variable. */
26ba25
     ram_size = initial_mem;
26ba25
 }
26ba25
-- 
26ba25
1.8.3.1
26ba25