From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:54186) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QhjSK-0003vs-OE for qemu-devel@nongnu.org; Fri, 15 Jul 2011 10:33:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QhjSG-00075U-5d for qemu-devel@nongnu.org; Fri, 15 Jul 2011 10:33:28 -0400 Received: from smtp02.citrix.com ([66.165.176.63]:12349) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QhjSG-00074n-2b for qemu-devel@nongnu.org; Fri, 15 Jul 2011 10:33:24 -0400 From: Anthony PERARD Date: Fri, 15 Jul 2011 15:32:56 +0100 Message-ID: <1310740376-13323-6-git-send-email-anthony.perard@citrix.com> In-Reply-To: <1310740376-13323-1-git-send-email-anthony.perard@citrix.com> References: <1310740376-13323-1-git-send-email-anthony.perard@citrix.com> MIME-Version: 1.0 Content-Type: text/plain Subject: [Qemu-devel] [PATCH 5/5] 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