From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NlsUR-0001m4-F1 for qemu-devel@nongnu.org; Sun, 28 Feb 2010 18:23:59 -0500 Received: from [199.232.76.173] (port=60061 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NlsUQ-0001lb-Rl for qemu-devel@nongnu.org; Sun, 28 Feb 2010 18:23:58 -0500 Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1NlsUQ-0001Fo-7H for qemu-devel@nongnu.org; Sun, 28 Feb 2010 18:23:58 -0500 Received: from mx20.gnu.org ([199.232.41.8]:4812) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1NlsUP-0001Fe-Tk for qemu-devel@nongnu.org; Sun, 28 Feb 2010 18:23:58 -0500 Received: from mail.codesourcery.com ([38.113.113.100]) by mx20.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NlsUP-0001IC-45 for qemu-devel@nongnu.org; Sun, 28 Feb 2010 18:23:57 -0500 From: Paul Brook Subject: Re: [Qemu-devel] [PATCH 0/6] Multi-level page tables and userland mapping fixes. Date: Sun, 28 Feb 2010 23:23:53 +0000 References: In-Reply-To: MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Message-Id: <201002282323.54388.paul@codesourcery.com> List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Richard Henderson > Which brings us to the problem of exec.c and the address spaces therein. > First, there was the fact that TARGET_PHYS_ADDR_SPACE_BITS was constrained > to be no larger than 32 (with a partial hack for Alpha to extend this to > 42 bits). Second, that this physical address space value was applied to > virtual addresses via page_find. On further investigation (I missed this the first time round) it gets worse than that :-( While userspace emulation uses PageDesc to describe virtual pages, system emulation uses it to track physical pages. This probably helps explain why the existing code is so confused. I'm not sure why we have separate l1_map and l1_phys_map. My guess is it's an attempt to save memory, on the theory that typically only a small faction of ram will be used to hold code. > This patch series untangles this somewhat. Looks like a fairly good start, however they're missing a Signed-off-by. Paul