Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/arm/include/arm32 For ARM_MMU_EXTENDED, a KERNEL_BA...



details:   https://anonhg.NetBSD.org/src/rev/7a370daa2966
branches:  trunk
changeset: 328319:7a370daa2966
user:      matt <matt%NetBSD.org@localhost>
date:      Mon Mar 31 01:48:37 2014 +0000

description:
For ARM_MMU_EXTENDED, a KERNEL_BASE >= 0x80000000 is ok but a
VM_USER_MAXADDRESS can not be more than 0x80000000 - PAGE_SIZE.

diffstat:

 sys/arch/arm/include/arm32/pmap.h    |  6 +++---
 sys/arch/arm/include/arm32/vmparam.h |  6 +++++-
 2 files changed, 8 insertions(+), 4 deletions(-)

diffs (41 lines):

diff -r 957dc16a317d -r 7a370daa2966 sys/arch/arm/include/arm32/pmap.h
--- a/sys/arch/arm/include/arm32/pmap.h Mon Mar 31 01:35:05 2014 +0000
+++ b/sys/arch/arm/include/arm32/pmap.h Mon Mar 31 01:48:37 2014 +0000
@@ -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 */
 
diff -r 957dc16a317d -r 7a370daa2966 sys/arch/arm/include/arm32/vmparam.h
--- a/sys/arch/arm/include/arm32/vmparam.h      Mon Mar 31 01:35:05 2014 +0000
+++ b/sys/arch/arm/include/arm32/vmparam.h      Mon Mar 31 01:48:37 2014 +0000
@@ -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)



Home | Main Index | Thread Index | Old Index