When using a memory size less than the default amount with older pc machine types, a failure occurs because of the way maxram_size and ram_size get initialized. Keep maxram_size and ram_size the same, except when maxmem is specified on the command line.
Signed-off-by: Bruce Rogers <brog...@suse.com> --- vl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vl.c b/vl.c index 6e084c2..0cb8c10 100644 --- a/vl.c +++ b/vl.c @@ -3345,7 +3345,6 @@ int main(int argc, char **argv, char **envp) RAM_ADDR_FMT ")\n", slots, sz, ram_size); exit(EXIT_FAILURE); } - maxram_size = sz; ram_slots = slots; } else if ((!maxmem_str && slots_str) || (maxmem_str && !slots_str)) { @@ -3353,6 +3352,7 @@ int main(int argc, char **argv, char **envp) "'%s' option\n", slots_str ? "maxmem" : "slots"); exit(EXIT_FAILURE); } + maxram_size = sz; break; } #ifdef CONFIG_TPM -- 1.9.0