From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Ly3NM-0007it-AA for qemu-devel@nongnu.org; Sun, 26 Apr 2009 08:22:28 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Ly3NH-0007iL-GC for qemu-devel@nongnu.org; Sun, 26 Apr 2009 08:22:27 -0400 Received: from [199.232.76.173] (port=46478 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Ly3NH-0007iH-Ac for qemu-devel@nongnu.org; Sun, 26 Apr 2009 08:22:23 -0400 Received: from wf-out-1314.google.com ([209.85.200.171]:13484) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Ly3NH-00085D-1n for qemu-devel@nongnu.org; Sun, 26 Apr 2009 08:22:23 -0400 Received: by wf-out-1314.google.com with SMTP id 26so1535640wfd.4 for ; Sun, 26 Apr 2009 05:22:21 -0700 (PDT) Message-ID: <49F451C2.9090302@gmail.com> Date: Sun, 26 Apr 2009 20:21:22 +0800 From: wuxi MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] x86-64 question - QEMU support up to 4GB physical memory? List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Qemu Development List Hi, all: I am hacking QEMU (for fun) based on the 0.10.1 version on x86-64 architecture. My question arises when I was checking the code of PageDesc in QEMU. I found it uses a two level mapping (l1_map), and it seems that QEMU can support physical memory up to 2^10 * 2^10 * (4KB) = 4GB. the related code is: (L1_BITS = 10, L2_BITS=10, TARGET_PAGE_BITS=12) #define L1_BITS (32 - L2_BITS - TARGET_PAGE_BITS) #define L1_SIZE (1 << L1_BITS) #define L2_SIZE (1 << L2_BITS) static PageDesc *l1_map[L1_SIZE]; p = qemu_mallocz(sizeof(PageDesc) * L2_SIZE); (for each l1_map entry) Is this true for QEMU x86-64 emulation? or I made some silly mistakes... Thanks ! yours sincerely Andrew