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