vl.c: Check the asked ram_size later.

As a Xen guest can have more than 2GB of RAM on a 32bit host, we move
the conditions after than we now if we run one Xen or not.

[agraf] separate xen branch from ram_size check

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
Anthony PERARD 2011-07-20 08:17:44 +00:00 committed by Alexander Graf
parent 8a369e20e7
commit 834e76ea1c

16
vl.c
View file

@ -2440,11 +2440,6 @@ int main(int argc, char **argv, char **envp)
exit(1);
}
/* On 32-bit hosts, QEMU is limited by virtual address space */
if (value > (2047 << 20) && HOST_LONG_BITS == 32) {
fprintf(stderr, "qemu: at most 2047 MB RAM can be simulated\n");
exit(1);
}
if (value != (uint64_t)(ram_addr_t)value) {
fprintf(stderr, "qemu: ram size too large\n");
exit(1);
@ -3099,8 +3094,17 @@ int main(int argc, char **argv, char **envp)
exit(1);
/* init the memory */
if (ram_size == 0)
if (ram_size == 0) {
ram_size = DEFAULT_RAM_SIZE * 1024 * 1024;
}
if (!xen_enabled()) {
/* On 32-bit hosts, QEMU is limited by virtual address space */
if (ram_size > (2047 << 20) && HOST_LONG_BITS == 32) {
fprintf(stderr, "qemu: at most 2047 MB RAM can be simulated\n");
exit(1);
}
}
/* init the dynamic translator */
cpu_exec_init_all(tb_size * 1024 * 1024);