pc: memory: Validate alignment of maxram_size to page size
If the maxram_size is not aligned and dimm devices were added on the command line qemu would terminate with a rather unhelpful message: ERROR:hw/mem/pc-dimm.c:150:pc_dimm_get_free_addr: assertion failed: (QEMU_ALIGN_UP(address_space_size, align) == address_space_size) In case no dimm device was originally added on the commandline qemu exits on the assertion failure. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Acked-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
parent
214224adb4
commit
f2c3852205
@ -1245,6 +1245,13 @@ FWCfgState *pc_memory_init(MachineState *machine,
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
if (QEMU_ALIGN_UP(machine->maxram_size,
|
||||
TARGET_PAGE_SIZE) != machine->maxram_size) {
|
||||
error_report("maximum memory size must by aligned to multiple of "
|
||||
"%d bytes", TARGET_PAGE_SIZE);
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
pcms->hotplug_memory_base =
|
||||
ROUND_UP(0x100000000ULL + above_4g_mem_size, 1ULL << 30);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user