In case we are dealing with resizable memory regions, we always have to
assign space in the physical address space which can fit the maximum
region size.

Signed-off-by: David Hildenbrand <da...@redhat.com>
---
 hw/mem/memory-device.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/hw/mem/memory-device.c b/hw/mem/memory-device.c
index 4bc9cf0917..32d0c5d334 100644
--- a/hw/mem/memory-device.c
+++ b/hw/mem/memory-device.c
@@ -269,7 +269,7 @@ void memory_device_pre_plug(MemoryDeviceState *md, 
MachineState *ms,
     align = legacy_align ? *legacy_align : memory_region_get_alignment(mr);
     addr = mdc->get_addr(md);
     addr = memory_device_get_free_addr(ms, !addr ? NULL : &addr, align,
-                                       memory_region_size(mr), &local_err);
+                                       memory_region_max_size(mr), &local_err);
     if (local_err) {
         goto out;
     }
@@ -329,7 +329,7 @@ uint64_t memory_device_get_region_size(const 
MemoryDeviceState *md,
         return 0;
     }
 
-    return memory_region_size(mr);
+    return memory_region_max_size(mr);
 }
 
 static const TypeInfo memory_device_info = {
-- 
2.24.1


Reply via email to