Re: [Qemu-devel] [PATCH V2 3/3] vl.c: Check the asked ram_size later.
On 07/20/2011 08:17 PM, Anthony PERARD wrote: 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. Signed-off-by: Anthony PERARDanthony.per...@citrix.com --- vl.c | 14 -- 1 files changed, 8 insertions(+), 6 deletions(-) diff --git a/vl.c b/vl.c index fcd7395..c2efedf 100644 --- a/vl.c +++ b/vl.c @@ -2433,11 +2433,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); @@ -3091,8 +3086,15 @@ 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; +} else if (!xen_enabled()) { I don't see why those are mutually exclusive. +/* 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); Alex
[Qemu-devel] [PATCH V2 3/3] 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. Signed-off-by: Anthony PERARD anthony.per...@citrix.com --- vl.c | 14 -- 1 files changed, 8 insertions(+), 6 deletions(-) diff --git a/vl.c b/vl.c index fcd7395..c2efedf 100644 --- a/vl.c +++ b/vl.c @@ -2433,11 +2433,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); @@ -3091,8 +3086,15 @@ 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; +} else 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); -- Anthony PERARD