Module Name: src
Committed By: uebayasi
Date: Sat Nov 6 16:36:27 UTC 2010
Modified Files:
src/sys/arch/powerpc/ibm4xx: pmap.c
src/sys/arch/powerpc/include/ibm4xx: vmparam.h
Log Message:
Merge from uebayasi-xip:
----------------------------
revision 1.60.2.5
date: 2010/08/14 02:09:57; author: uebayasi; state: Exp; lines: +2 -1
Teach TLB miss handler (pmap_tlbmiss()) to map "Expansion ROM" area as
PA == VA. Now we don't need to reserve a TLB entry for it.
----------------------------
To generate a diff of this commit:
cvs rdiff -u -r1.62 -r1.63 src/sys/arch/powerpc/ibm4xx/pmap.c
cvs rdiff -u -r1.7 -r1.8 src/sys/arch/powerpc/include/ibm4xx/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/powerpc/ibm4xx/pmap.c
diff -u src/sys/arch/powerpc/ibm4xx/pmap.c:1.62 src/sys/arch/powerpc/ibm4xx/pmap.c:1.63
--- src/sys/arch/powerpc/ibm4xx/pmap.c:1.62 Thu Feb 25 23:31:47 2010
+++ src/sys/arch/powerpc/ibm4xx/pmap.c Sat Nov 6 16:36:26 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.62 2010/02/25 23:31:47 matt Exp $ */
+/* $NetBSD: pmap.c,v 1.63 2010/11/06 16:36:26 uebayasi Exp $ */
/*
* Copyright 2001 Wasabi Systems, Inc.
@@ -67,7 +67,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.62 2010/02/25 23:31:47 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.63 2010/11/06 16:36:26 uebayasi Exp $");
#include <sys/param.h>
#include <sys/malloc.h>
@@ -1475,7 +1475,8 @@
* to not clobber 0 upto ${physmem} with device mappings in machdep
* code.
*/
- if (ctx != KERNEL_PID || va >= VM_MIN_KERNEL_ADDRESS) {
+ if (ctx != KERNEL_PID ||
+ (va >= VM_MIN_KERNEL_ADDRESS && va < VM_MAX_KERNEL_ADDRESS)) {
pte = pte_find((struct pmap *)__UNVOLATILE(ctxbusy[ctx]), va);
if (pte == NULL) {
/* Map unmanaged addresses directly for kernel access */
Index: src/sys/arch/powerpc/include/ibm4xx/vmparam.h
diff -u src/sys/arch/powerpc/include/ibm4xx/vmparam.h:1.7 src/sys/arch/powerpc/include/ibm4xx/vmparam.h:1.8
--- src/sys/arch/powerpc/include/ibm4xx/vmparam.h:1.7 Sat Nov 6 15:42:48 2010
+++ src/sys/arch/powerpc/include/ibm4xx/vmparam.h Sat Nov 6 16:36:27 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: vmparam.h,v 1.7 2010/11/06 15:42:48 uebayasi Exp $ */
+/* $NetBSD: vmparam.h,v 1.8 2010/11/06 16:36:27 uebayasi Exp $ */
/*-
* Copyright (C) 1995, 1996 Wolfgang Solfrank.
@@ -78,7 +78,7 @@
#define VM_MAXUSER_ADDRESS ((vaddr_t)0xffff0000-PAGE_SIZE)
#define VM_MAX_ADDRESS VM_MAXUSER_ADDRESS
#define VM_MIN_KERNEL_ADDRESS ((vaddr_t)0x80000000)
-#define VM_MAX_KERNEL_ADDRESS ((vaddr_t)0xff000000)
+#define VM_MAX_KERNEL_ADDRESS ((vaddr_t)0xef000000) /* before I/O periphs */
#else
/*
* Would like to have MAX addresses = 0, but this doesn't (currently) work