diff options
Diffstat (limited to 'hw/mem/memory-device.c')
| -rw-r--r-- | hw/mem/memory-device.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/hw/mem/memory-device.c b/hw/mem/memory-device.c index 53953fdc3a..aef148c1d7 100644 --- a/hw/mem/memory-device.c +++ b/hw/mem/memory-device.c @@ -179,13 +179,14 @@ static uint64_t memory_device_get_free_addr(MachineState *ms, range_make_empty(&new); break; } + } else if (range_lob(&tmp) > range_upb(&new)) { + break; } } if (!range_contains_range(&as, &new)) { error_setg(errp, "could not find position in guest address space for " "memory device - memory fragmented due to alignments"); - goto out; } out: g_slist_free(list); |