From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NpVzE-0001R1-58 for qemu-devel@nongnu.org; Wed, 10 Mar 2010 19:10:48 -0500 Received: from [199.232.76.173] (port=48164 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NpVzD-0001Qt-N5 for qemu-devel@nongnu.org; Wed, 10 Mar 2010 19:10:47 -0500 Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1NpVzB-0001sD-AR for qemu-devel@nongnu.org; Wed, 10 Mar 2010 19:10:47 -0500 Received: from are.twiddle.net ([75.149.56.221]:58407) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NpVzA-0001rW-LS for qemu-devel@nongnu.org; Wed, 10 Mar 2010 19:10:44 -0500 Message-Id: From: Richard Henderson Date: Wed, 10 Mar 2010 15:59:16 -0800 Subject: [Qemu-devel] [PATCH 0/6] Multi-level page tables and userland mapping fixes, v3 List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: paul@codesourcery.com Changes since v2: * Fix two errors pointed out by pbrook: l1_map size in system mode, and h2g_valid definition for 64-on-32-bit. * Assertions that addresses are not outside the bounds of the guest address space. * Re-base vs master, after l1_map_phys changes. r~ Richard Henderson (6): Move TARGET_PHYS_ADDR_SPACE_BITS to target-*/cpu.h. Use TARGET_VIRT_ADDR_SPACE_BITS in h2g_valid. linux-user: Use h2g_valid in qemu_vmalloc. linux-user: Fix mmap_find_vma returning invalid addresses. Implement multi-level page tables. Fix last page errors in page_check_range and page_set_flags. cpu-all.h | 23 ++- exec.c | 522 ++++++++++++++++++++++++++++------------------- linux-user/main.c | 11 +- linux-user/mmap.c | 111 ++++++++--- linux-user/qemu.h | 2 - target-alpha/cpu.h | 4 +- target-arm/cpu.h | 3 + target-cris/cpu.h | 3 + target-i386/cpu.h | 11 + target-m68k/cpu.h | 3 + target-microblaze/cpu.h | 3 + target-mips/mips-defs.h | 4 + target-ppc/cpu.h | 17 ++ target-s390x/cpu.h | 5 + target-sh4/cpu.h | 3 + target-sparc/cpu.h | 8 + 16 files changed, 474 insertions(+), 259 deletions(-)