From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:34225) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QjbTY-0005sf-V1 for qemu-devel@nongnu.org; Wed, 20 Jul 2011 14:26:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QjbTU-0001ys-Lg for qemu-devel@nongnu.org; Wed, 20 Jul 2011 14:26:28 -0400 Received: from smtp.citrix.com ([66.165.176.89]:50601) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QjbLO-0000KS-Ed for qemu-devel@nongnu.org; Wed, 20 Jul 2011 14:18:02 -0400 From: Anthony PERARD Date: Wed, 20 Jul 2011 19:17:44 +0100 Message-ID: <1311185864-32745-4-git-send-email-anthony.perard@citrix.com> In-Reply-To: <1311185864-32745-1-git-send-email-anthony.perard@citrix.com> References: <1311185864-32745-1-git-send-email-anthony.perard@citrix.com> MIME-Version: 1.0 Content-Type: text/plain Subject: [Qemu-devel] [PATCH V2 3/3] vl.c: Check the asked ram_size later. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: QEMU-devel , Alexander Graf Cc: Anthony PERARD , Xen Devel , Stefano Stabellini 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 --- 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