Module Name: src Committed By: matt Date: Mon Mar 31 01:48:37 UTC 2014
Modified Files: src/sys/arch/arm/include/arm32: pmap.h vmparam.h Log Message: For ARM_MMU_EXTENDED, a KERNEL_BASE >= 0x80000000 is ok but a VM_USER_MAXADDRESS can not be more than 0x80000000 - PAGE_SIZE. To generate a diff of this commit: cvs rdiff -u -r1.127 -r1.128 src/sys/arch/arm/include/arm32/pmap.h cvs rdiff -u -r1.33 -r1.34 src/sys/arch/arm/include/arm32/vmparam.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/arm/include/arm32/pmap.h diff -u src/sys/arch/arm/include/arm32/pmap.h:1.127 src/sys/arch/arm/include/arm32/pmap.h:1.128 --- src/sys/arch/arm/include/arm32/pmap.h:1.127 Mon Mar 31 01:35:05 2014 +++ src/sys/arch/arm/include/arm32/pmap.h Mon Mar 31 01:48:37 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: pmap.h,v 1.127 2014/03/31 01:35:05 matt Exp $ */ +/* $NetBSD: pmap.h,v 1.128 2014/03/31 01:48:37 matt Exp $ */ /* * Copyright (c) 2002, 2003 Wasabi Systems, Inc. @@ -103,8 +103,8 @@ * user and kernel, we can use the TTBR0/TTBR1 to have separate L1 tables for * user and kernel address spaces. */ -#if KERNEL_BASE != 0x80000000 -#error ARMv6 or later systems must have a KERNEL_BASE of 0x80000000 +#if (KERNEL_BASE & 0x80000000) == 0 +#error ARMv6 or later systems must have a KERNEL_BASE >= 0x80000000 #endif #endif /* ARM_MMU_EXTENDED */ Index: src/sys/arch/arm/include/arm32/vmparam.h diff -u src/sys/arch/arm/include/arm32/vmparam.h:1.33 src/sys/arch/arm/include/arm32/vmparam.h:1.34 --- src/sys/arch/arm/include/arm32/vmparam.h:1.33 Wed Feb 26 16:16:18 2014 +++ src/sys/arch/arm/include/arm32/vmparam.h Mon Mar 31 01:48:37 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: vmparam.h,v 1.33 2014/02/26 16:16:18 martin Exp $ */ +/* $NetBSD: vmparam.h,v 1.34 2014/03/31 01:48:37 matt Exp $ */ /* * Copyright (c) 2001, 2002 Wasabi Systems, Inc. @@ -78,7 +78,11 @@ * Mach derived constants */ #define VM_MIN_ADDRESS ((vaddr_t) PAGE_SIZE) +#ifdef ARM_MMU_EXTENDED +#define VM_MAXUSER_ADDRESS ((vaddr_t) 0x80000000 - PAGE_SIZE) +#else #define VM_MAXUSER_ADDRESS ((vaddr_t) KERNEL_BASE - PAGE_SIZE) +#endif #define VM_MAX_ADDRESS VM_MAXUSER_ADDRESS #define VM_MIN_KERNEL_ADDRESS ((vaddr_t) KERNEL_BASE)