Skip to content

Commit

Permalink
vl.c: Fix error messages when parsing maxmem parameters
Browse files Browse the repository at this point in the history
Produce more human readable error messages and fix few spelling
mistakes.

Also remove a redundant check for the max memory size.

Signed-off-by: Peter Krempa <pkrempa@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>
  • Loading branch information
pipo authored and mstsirkin committed Feb 26, 2015
1 parent c0e57a6 commit 214224a
Showing 1 changed file with 16 additions and 18 deletions.
34 changes: 16 additions & 18 deletions vl.c
Expand Up @@ -2693,29 +2693,27 @@ static void set_memory_options(uint64_t *ram_slots, ram_addr_t *maxram_size)
uint64_t slots;

sz = qemu_opt_get_size(opts, "maxmem", 0);
slots = qemu_opt_get_number(opts, "slots", 0);
if (sz < ram_size) {
error_report("invalid -m option value: maxmem "
"(0x%" PRIx64 ") <= initial memory (0x"
RAM_ADDR_FMT ")", sz, ram_size);
error_report("invalid value of -m option maxmem: "
"maximum memory size (0x%" PRIx64 ") must be at least "
"the initial memory size (0x" RAM_ADDR_FMT ")",
sz, ram_size);
exit(EXIT_FAILURE);
}

slots = qemu_opt_get_number(opts, "slots", 0);
if ((sz > ram_size) && !slots) {
error_report("invalid -m option value: maxmem "
"(0x%" PRIx64 ") more than initial memory (0x"
RAM_ADDR_FMT ") but no hotplug slots where "
"specified", sz, ram_size);
} else if (sz > ram_size) {
if (!slots) {
error_report("invalid value of -m option: maxmem was "
"specified, but no hotplug slots were specified");
exit(EXIT_FAILURE);
}
} else if (slots) {
error_report("invalid value of -m option maxmem: "
"memory slots were specified but maximum memory size "
"(0x%" PRIx64 ") is equal to the initial memory size "
"(0x" RAM_ADDR_FMT ")", sz, ram_size);
exit(EXIT_FAILURE);
}

if ((sz <= ram_size) && slots) {
error_report("invalid -m option value: %"
PRIu64 " hotplug slots where specified but "
"maxmem (0x%" PRIx64 ") <= initial memory (0x"
RAM_ADDR_FMT ")", slots, sz, ram_size);
exit(EXIT_FAILURE);
}
*maxram_size = sz;
*ram_slots = slots;
} else if ((!maxmem_str && slots_str) ||
Expand Down

0 comments on commit 214224a

Please sign in to comment.