Module Name:    src
Committed By:   rmind
Date:           Thu Oct 22 19:50:56 UTC 2009

Modified Files:
        src/sys/arch/alpha/alpha: pmap.c
        src/sys/arch/arm/arm32: pmap.c
        src/sys/arch/arm/include/arm32: pmap.h
        src/sys/arch/m68k/m68k: pmap_motorola.c
        src/sys/arch/x86/x86: pmap.c
        src/sys/rump/librump/rumpkern: pmap_stub.c

Log Message:
Simplify pmap_remove() a little by avoiding pmap_do_remove() layer, since
possibility to skip wired mappings is not needed anymore.  Apart from that,
no functional differences are intended.


To generate a diff of this commit:
cvs rdiff -u -r1.244 -r1.245 src/sys/arch/alpha/alpha/pmap.c
cvs rdiff -u -r1.199 -r1.200 src/sys/arch/arm/arm32/pmap.c
cvs rdiff -u -r1.92 -r1.93 src/sys/arch/arm/include/arm32/pmap.h
cvs rdiff -u -r1.48 -r1.49 src/sys/arch/m68k/m68k/pmap_motorola.c
cvs rdiff -u -r1.93 -r1.94 src/sys/arch/x86/x86/pmap.c
cvs rdiff -u -r1.20 -r1.21 src/sys/rump/librump/rumpkern/pmap_stub.c

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/alpha/alpha/pmap.c
diff -u src/sys/arch/alpha/alpha/pmap.c:1.244 src/sys/arch/alpha/alpha/pmap.c:1.245
--- src/sys/arch/alpha/alpha/pmap.c:1.244	Wed Oct 21 21:11:58 2009
+++ src/sys/arch/alpha/alpha/pmap.c	Thu Oct 22 19:50:55 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.244 2009/10/21 21:11:58 rmind Exp $ */
+/* $NetBSD: pmap.c,v 1.245 2009/10/22 19:50:55 rmind Exp $ */
 
 /*-
  * Copyright (c) 1998, 1999, 2000, 2001, 2007, 2008 The NetBSD Foundation, Inc.
@@ -140,7 +140,7 @@
 
 #include <sys/cdefs.h>			/* RCS ID & Copyright macro defns */
 
-__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.244 2009/10/21 21:11:58 rmind Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.245 2009/10/22 19:50:55 rmind Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -439,7 +439,6 @@
  * Internal routines
  */
 static void	alpha_protection_init(void);
-static void	pmap_do_remove(pmap_t, vaddr_t, vaddr_t, bool);
 static bool	pmap_remove_mapping(pmap_t, vaddr_t, pt_entry_t *, bool, long);
 static void	pmap_changebit(struct vm_page *, pt_entry_t, pt_entry_t, long);
 
@@ -1255,25 +1254,6 @@
 void
 pmap_remove(pmap_t pmap, vaddr_t sva, vaddr_t eva)
 {
-
-#ifdef DEBUG
-	if (pmapdebug & (PDB_FOLLOW|PDB_REMOVE|PDB_PROTECT))
-		printf("pmap_remove(%p, %lx, %lx)\n", pmap, sva, eva);
-#endif
-
-	pmap_do_remove(pmap, sva, eva, true);
-}
-
-/*
- * pmap_do_remove:
- *
- *	This actually removes the range of addresses from the
- *	specified map.  It is used by and pmap_remove() (does
- *	want to remove wired mappings).
- */
-static void
-pmap_do_remove(pmap_t pmap, vaddr_t sva, vaddr_t eva, bool dowired)
-{
 	pt_entry_t *l1pte, *l2pte, *l3pte;
 	pt_entry_t *saved_l1pte, *saved_l2pte, *saved_l3pte;
 	vaddr_t l1eva, l2eva, vptva;
@@ -1297,8 +1277,6 @@
 		PMAP_MAP_TO_HEAD_LOCK();
 		PMAP_LOCK(pmap);
 
-		KASSERT(dowired == true);
-
 		while (sva < eva) {
 			l3pte = PMAP_KERNEL_PTE(sva);
 			if (pmap_pte_v(l3pte)) {
@@ -1380,15 +1358,14 @@
 
 					for (; sva < l2eva && sva < eva;
 					     sva += PAGE_SIZE, l3pte++) {
-						if (pmap_pte_v(l3pte) &&
-						    (dowired == true ||
-						     pmap_pte_w(l3pte) == 0)) {
-							needisync |=
-							    pmap_remove_mapping(
-								pmap, sva,
-								l3pte, true,
-								cpu_id);
+						if (!pmap_pte_v(l3pte)) {
+							continue;
 						}
+						needisync |=
+						    pmap_remove_mapping(
+							pmap, sva,
+							l3pte, true,
+							cpu_id);
 					}
 
 					/*

Index: src/sys/arch/arm/arm32/pmap.c
diff -u src/sys/arch/arm/arm32/pmap.c:1.199 src/sys/arch/arm/arm32/pmap.c:1.200
--- src/sys/arch/arm/arm32/pmap.c:1.199	Wed Oct 21 21:11:59 2009
+++ src/sys/arch/arm/arm32/pmap.c	Thu Oct 22 19:50:55 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: pmap.c,v 1.199 2009/10/21 21:11:59 rmind Exp $	*/
+/*	$NetBSD: pmap.c,v 1.200 2009/10/22 19:50:55 rmind Exp $	*/
 
 /*
  * Copyright 2003 Wasabi Systems, Inc.
@@ -212,7 +212,7 @@
 #include <machine/param.h>
 #include <arm/arm32/katelib.h>
 
-__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.199 2009/10/21 21:11:59 rmind Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.200 2009/10/22 19:50:55 rmind Exp $");
 
 #ifdef PMAP_DEBUG
 
@@ -640,7 +640,7 @@
 static void		pmap_enter_pv(struct vm_page *, struct pv_entry *,
 			    pmap_t, vaddr_t, u_int);
 static struct pv_entry *pmap_find_pv(struct vm_page *, pmap_t, vaddr_t);
-static struct pv_entry *pmap_remove_pv(struct vm_page *, pmap_t, vaddr_t, int);
+static struct pv_entry *pmap_remove_pv(struct vm_page *, pmap_t, vaddr_t);
 static u_int		pmap_modify_pv(struct vm_page *, pmap_t, vaddr_t,
 			    u_int, u_int);
 
@@ -960,7 +960,7 @@
  * => we return the removed pve
  */
 static struct pv_entry *
-pmap_remove_pv(struct vm_page *pg, pmap_t pm, vaddr_t va, int skip_wired)
+pmap_remove_pv(struct vm_page *pg, pmap_t pm, vaddr_t va)
 {
 	struct pv_entry *pve, **prevptr;
 
@@ -975,8 +975,6 @@
 			NPDEBUG(PDB_PVDUMP, printf("pmap_remove_pv: pm %p, pg "
 			    "%p, flags 0x%x\n", pm, pg, pve->pv_flags));
 			if (pve->pv_flags & PVF_WIRED) {
-				if (skip_wired)
-					return (NULL);
 				--pm->pm_stats.wired_count;
 			}
 			*prevptr = SLIST_NEXT(pve, pv_link);	/* remove it! */
@@ -2891,7 +2889,7 @@
 				 * must remove it from the PV list
 				 */
 				simple_lock(&opg->mdpage.pvh_slock);
-				pve = pmap_remove_pv(opg, pm, va, 0);
+				pve = pmap_remove_pv(opg, pm, va);
 				pmap_vac_me_harder(opg, pm, 0);
 				simple_unlock(&opg->mdpage.pvh_slock);
 				oflags = pve->pv_flags;
@@ -2954,7 +2952,7 @@
 			 * at this address.
 			 */
 			simple_lock(&opg->mdpage.pvh_slock);
-			pve = pmap_remove_pv(opg, pm, va, 0);
+			pve = pmap_remove_pv(opg, pm, va);
 			pmap_vac_me_harder(opg, pm, 0);
 			simple_unlock(&opg->mdpage.pvh_slock);
 			oflags = pve->pv_flags;
@@ -3078,7 +3076,7 @@
 #define	PMAP_REMOVE_CLEAN_LIST_SIZE	3
 
 void
-pmap_do_remove(pmap_t pm, vaddr_t sva, vaddr_t eva, int skip_wired)
+pmap_remove(pmap_t pm, vaddr_t sva, vaddr_t eva)
 {
 	struct l2_bucket *l2b;
 	vaddr_t next_bucket;
@@ -3148,7 +3146,7 @@
 			if ((pg = PHYS_TO_VM_PAGE(pa)) != NULL) {
 				struct pv_entry *pve;
 				simple_lock(&pg->mdpage.pvh_slock);
-				pve = pmap_remove_pv(pg, pm, sva, skip_wired);
+				pve = pmap_remove_pv(pg, pm, sva);
 				pmap_vac_me_harder(pg, pm, 0);
 				simple_unlock(&pg->mdpage.pvh_slock);
 				if (pve != NULL) {
@@ -3159,17 +3157,8 @@
 						   PV_BEEN_REFD(pve->pv_flags);
 					}
 					pool_put(&pmap_pv_pool, pve);
-				} else
-				if (skip_wired) {
-					/* The mapping is wired. Skip it */
-					continue;
 				}
-			} else
-			if (skip_wired) {
-				/* Unmanaged pages are always wired. */
-				continue;
 			}
-
 			mappings++;
 
 			if (!l2pte_valid(pte)) {
@@ -3285,7 +3274,7 @@
 	KASSERT(pg->mdpage.pvh_attrs & (PVF_COLORED|PVF_NC));
 	KASSERT((pg->mdpage.pvh_attrs & PVF_KMPAGE) == 0);
 
-	pv = pmap_remove_pv(pg, pmap_kernel(), va, false);
+	pv = pmap_remove_pv(pg, pmap_kernel(), va);
 	KASSERT(pv);
 	KASSERT(pv->pv_flags & PVF_KENTRY);
 

Index: src/sys/arch/arm/include/arm32/pmap.h
diff -u src/sys/arch/arm/include/arm32/pmap.h:1.92 src/sys/arch/arm/include/arm32/pmap.h:1.93
--- src/sys/arch/arm/include/arm32/pmap.h:1.92	Wed Aug 19 23:54:33 2009
+++ src/sys/arch/arm/include/arm32/pmap.h	Thu Oct 22 19:50:55 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: pmap.h,v 1.92 2009/08/19 23:54:33 thorpej Exp $	*/
+/*	$NetBSD: pmap.h,v 1.93 2009/10/22 19:50:55 rmind Exp $	*/
 
 /*
  * Copyright (c) 2002, 2003 Wasabi Systems, Inc.
@@ -268,8 +268,6 @@
 #define	pmap_resident_count(pmap)	((pmap)->pm_stats.resident_count)
 #define	pmap_wired_count(pmap)		((pmap)->pm_stats.wired_count)
 
-#define	pmap_remove(pmap,sva,eva)	pmap_do_remove((pmap),(sva),(eva),0)
-
 #define	pmap_is_modified(pg)	\
 	(((pg)->mdpage.pvh_attrs & PVF_MOD) != 0)
 #define	pmap_is_referenced(pg)	\

Index: src/sys/arch/m68k/m68k/pmap_motorola.c
diff -u src/sys/arch/m68k/m68k/pmap_motorola.c:1.48 src/sys/arch/m68k/m68k/pmap_motorola.c:1.49
--- src/sys/arch/m68k/m68k/pmap_motorola.c:1.48	Wed Oct 21 21:12:00 2009
+++ src/sys/arch/m68k/m68k/pmap_motorola.c	Thu Oct 22 19:50:55 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: pmap_motorola.c,v 1.48 2009/10/21 21:12:00 rmind Exp $        */
+/*	$NetBSD: pmap_motorola.c,v 1.49 2009/10/22 19:50:55 rmind Exp $        */
 
 /*-
  * Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -117,7 +117,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pmap_motorola.c,v 1.48 2009/10/21 21:12:00 rmind Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pmap_motorola.c,v 1.49 2009/10/22 19:50:55 rmind Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -280,7 +280,6 @@
 
 struct pv_entry *pmap_alloc_pv(void);
 void	pmap_free_pv(struct pv_entry *);
-static void	pmap_collect_pv(void);
 
 #define	PAGE_IS_MANAGED(pa)	(pmap_initialized && uvm_pageismanaged(pa))
 
@@ -297,13 +296,11 @@
  * Internal routines
  */
 void	pmap_remove_mapping(pmap_t, vaddr_t, pt_entry_t *, int);
-void	pmap_do_remove(pmap_t, vaddr_t, vaddr_t, int);
 bool	pmap_testbit(paddr_t, int);
 bool	pmap_changebit(paddr_t, int, int);
 int	pmap_enter_ptpage(pmap_t, vaddr_t, bool);
 void	pmap_ptpage_addref(vaddr_t);
 int	pmap_ptpage_delref(vaddr_t);
-void	pmap_collect1(pmap_t, paddr_t, paddr_t);
 void	pmap_pinit(pmap_t);
 void	pmap_release(pmap_t);
 
@@ -593,7 +590,8 @@
  *
  *	Perform compaction on the PV list, called via pmap_collect().
  */
-static void
+#ifdef notyet
+void
 pmap_collect_pv(void)
 {
 	struct pv_page_list pv_page_collectlist;
@@ -654,6 +652,7 @@
 		uvm_km_free(kernel_map, (vaddr_t)pvp, PAGE_SIZE, UVM_KMF_WIRED);
 	}
 }
+#endif
 
 /*
  * pmap_map:
@@ -852,13 +851,6 @@
 void
 pmap_remove(pmap_t pmap, vaddr_t sva, vaddr_t eva)
 {
-
-	pmap_do_remove(pmap, sva, eva, 1);
-}
-
-void
-pmap_do_remove(pmap_t pmap, vaddr_t sva, vaddr_t eva, int remove_wired)
-{
 	vaddr_t nssva;
 	pt_entry_t *pte;
 	int flags;
@@ -877,7 +869,6 @@
 
 		/*
 		 * Invalidate every valid mapping within this segment.
-		 * If remove_wired is zero, skip the wired pages.
 		 */
 
 		pte = pmap_pte(pmap, sva);
@@ -893,10 +884,7 @@
 				break;
 			}
 
-
-
-			if (pmap_pte_v(pte) &&
-			    (remove_wired || !pmap_pte_w(pte))) {
+			if (pmap_pte_v(pte)) {
 #ifdef M68K_MMU_HP
 				if (pmap_aliasmask) {
 
@@ -1665,50 +1653,6 @@
 }
 
 /*
- * pmap_collect:		[ INTERFACE ]
- *
- *	Garbage collects the physical map system for pages which are no
- *	longer used.  Success need not be guaranteed -- that is, there
- *	may well be pages which are not referenced, but others may be
- *	collected.
- */
-static void
-pmap_collect(pmap_t pmap)
-{
-
-	PMAP_DPRINTF(PDB_FOLLOW, ("pmap_collect(%p)\n", pmap));
-
-	if (pmap == pmap_kernel()) {
-		int bank, s;
-
-		/*
-		 * XXX This is very bogus.  We should handle kernel PT
-		 * XXX pages much differently.
-		 */
-
-		s = splvm();
-		for (bank = 0; bank < vm_nphysseg; bank++)
-			pmap_collect1(pmap, ptoa(vm_physmem[bank].start),
-			    ptoa(vm_physmem[bank].end));
-		splx(s);
-	} else {
-		/*
-		 * This process is about to be swapped out; free all of
-		 * the PT pages by removing the physical mappings for its
-		 * entire address space.  Note: pmap_remove() performs
-		 * all necessary locking.
-		 */
-		pmap_do_remove(pmap, VM_MIN_ADDRESS, VM_MAX_ADDRESS, 0);
-		pmap_update(pmap);
-	}
-
-#ifdef notyet
-	/* Go compact and garbage-collect the pv_table. */
-	pmap_collect_pv();
-#endif
-}
-
-/*
  * pmap_collect1():
  *
  *	Garbage-collect KPT pages.  Helper for the above (bogus)
@@ -1717,7 +1661,7 @@
  *	Note: THIS SHOULD GO AWAY, AND BE REPLACED WITH A BETTER
  *	WAY OF HANDLING PT PAGES!
  */
-static void
+static inline void
 pmap_collect1(pmap_t pmap, paddr_t startpa, paddr_t endpa)
 {
 	paddr_t pa;
@@ -1820,6 +1764,39 @@
 }
 
 /*
+ * pmap_collect:
+ *
+ *	Helper for pmap_enter_ptpage().
+ *
+ *	Garbage collects the physical map system for pages which are no
+ *	longer used.  Success need not be guaranteed -- that is, there
+ *	may well be pages which are not referenced, but others may be
+ *	collected.
+ */
+static void
+pmap_collect(void)
+{
+	int bank, s;
+
+	/*
+	 * XXX This is very bogus.  We should handle kernel PT
+	 * XXX pages much differently.
+	 */
+
+	s = splvm();
+	for (bank = 0; bank < vm_nphysseg; bank++) {
+		pmap_collect1(pmap_kernel(), ptoa(vm_physmem[bank].start),
+		    ptoa(vm_physmem[bank].end));
+	}
+	splx(s);
+
+#ifdef notyet
+	/* Go compact and garbage-collect the pv_table. */
+	pmap_collect_pv();
+#endif
+}
+
+/*
  * pmap_zero_page:		[ INTERFACE ]
  *
  *	Zero the specified (machine independent) page by mapping the page
@@ -2615,7 +2592,7 @@
 			 */
 			PMAP_DPRINTF(PDB_COLLECT,
 			    ("enter: no KPT pages, collecting...\n"));
-			pmap_collect(pmap_kernel());
+			pmap_collect();
 			if ((kpt = kpt_free_list) == NULL)
 				panic("pmap_enter_ptpage: can't get KPT page");
 		}

Index: src/sys/arch/x86/x86/pmap.c
diff -u src/sys/arch/x86/x86/pmap.c:1.93 src/sys/arch/x86/x86/pmap.c:1.94
--- src/sys/arch/x86/x86/pmap.c:1.93	Wed Oct 21 21:12:04 2009
+++ src/sys/arch/x86/x86/pmap.c	Thu Oct 22 19:50:56 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: pmap.c,v 1.93 2009/10/21 21:12:04 rmind Exp $	*/
+/*	$NetBSD: pmap.c,v 1.94 2009/10/22 19:50:56 rmind Exp $	*/
 
 /*
  * Copyright (c) 2007 Manuel Bouyer.
@@ -149,7 +149,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.93 2009/10/21 21:12:04 rmind Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.94 2009/10/22 19:50:56 rmind Exp $");
 
 #include "opt_user_ldt.h"
 #include "opt_lockdebug.h"
@@ -583,15 +583,12 @@
 static bool		 pmap_is_active(struct pmap *, struct cpu_info *, bool);
 static void		 pmap_map_ptes(struct pmap *, struct pmap **,
 				       pt_entry_t **, pd_entry_t * const **);
-static void		 pmap_do_remove(struct pmap *, vaddr_t, vaddr_t, u_int);
 static bool		 pmap_remove_pte(struct pmap *, struct vm_page *,
-					 pt_entry_t *, vaddr_t, u_int,
+					 pt_entry_t *, vaddr_t,
 					 struct pv_entry **);
 static pt_entry_t	 pmap_remove_ptes(struct pmap *, struct vm_page *,
-					  vaddr_t, vaddr_t, vaddr_t, u_int,
+					  vaddr_t, vaddr_t, vaddr_t,
 					  struct pv_entry **);
-#define PMAP_REMOVE_ALL		0	/* remove all mappings */
-#define PMAP_REMOVE_SKIPWIRED	1	/* skip wired mappings */
 
 static void		 pmap_unmap_ptes(struct pmap *, struct pmap *);
 static bool		 pmap_get_physpage(vaddr_t, int, paddr_t *);
@@ -3249,8 +3246,7 @@
 
 static pt_entry_t
 pmap_remove_ptes(struct pmap *pmap, struct vm_page *ptp, vaddr_t ptpva,
-		 vaddr_t startva, vaddr_t endva, u_int flags,
-		 struct pv_entry **pv_tofree)
+		 vaddr_t startva, vaddr_t endva, struct pv_entry **pv_tofree)
 {
 	struct pv_entry *pve;
 	pt_entry_t *pte = (pt_entry_t *) ptpva;
@@ -3275,9 +3271,6 @@
 
 		if (!pmap_valid_entry(*pte))
 			continue;			/* VA not mapped */
-		if ((flags & PMAP_REMOVE_SKIPWIRED) && (*pte & PG_W)) {
-			continue;
-		}
 
 		/* atomically save the old PTE and zap! it */
 		opte = pmap_pte_testset(pte, 0);
@@ -3349,7 +3342,7 @@
 
 static bool
 pmap_remove_pte(struct pmap *pmap, struct vm_page *ptp, pt_entry_t *pte,
-		vaddr_t va, u_int flags, struct pv_entry **pv_tofree)
+		vaddr_t va, struct pv_entry **pv_tofree)
 {
 	pt_entry_t opte;
 	struct pv_entry *pve;
@@ -3361,9 +3354,6 @@
 
 	if (!pmap_valid_entry(*pte))
 		return(false);		/* VA not mapped */
-	if ((flags & PMAP_REMOVE_SKIPWIRED) && (*pte & PG_W)) {
-		return(false);
-	}
 
 	/* atomically save the old PTE and zap! it */
 	opte = pmap_pte_testset(pte, 0);
@@ -3421,7 +3411,7 @@
 }
 
 /*
- * pmap_remove: top level mapping removal function
+ * pmap_remove: mapping removal function.
  *
  * => caller should not be holding any pmap locks
  */
@@ -3429,18 +3419,6 @@
 void
 pmap_remove(struct pmap *pmap, vaddr_t sva, vaddr_t eva)
 {
-	pmap_do_remove(pmap, sva, eva, PMAP_REMOVE_ALL);
-}
-
-/*
- * pmap_do_remove: mapping removal guts
- *
- * => caller should not be holding any pmap locks
- */
-
-static void
-pmap_do_remove(struct pmap *pmap, vaddr_t sva, vaddr_t eva, u_int flags)
-{
 	pt_entry_t *ptes, xpte = 0;
 	pd_entry_t pde;
 	pd_entry_t * const *pdes;
@@ -3479,7 +3457,7 @@
 
 			/* do it! */
 			result = pmap_remove_pte(pmap, ptp,
-			    &ptes[pl1_i(va)], va, flags, &pv_tofree);
+			    &ptes[pl1_i(va)], va, &pv_tofree);
 
 			/*
 			 * if mapping removed and the PTP is no longer
@@ -3540,8 +3518,7 @@
 #endif
 		}
 		xpte |= pmap_remove_ptes(pmap, ptp,
-		    (vaddr_t)&ptes[pl1_i(va)], va, blkendva,
-		    flags, &pv_tofree);
+		    (vaddr_t)&ptes[pl1_i(va)], va, blkendva, &pv_tofree);
 
 		/* if PTP is no longer being used, free it! */
 		if (ptp && ptp->wire_count <= 1) {

Index: src/sys/rump/librump/rumpkern/pmap_stub.c
diff -u src/sys/rump/librump/rumpkern/pmap_stub.c:1.20 src/sys/rump/librump/rumpkern/pmap_stub.c:1.21
--- src/sys/rump/librump/rumpkern/pmap_stub.c:1.20	Fri Sep 18 18:31:53 2009
+++ src/sys/rump/librump/rumpkern/pmap_stub.c	Thu Oct 22 19:50:56 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: pmap_stub.c,v 1.20 2009/09/18 18:31:53 pooka Exp $	*/
+/*	$NetBSD: pmap_stub.c,v 1.21 2009/10/22 19:50:56 rmind Exp $	*/
 
 /*
  * Copyright (c) 2008 Antti Kantee.  All Rights Reserved.
@@ -29,7 +29,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pmap_stub.c,v 1.20 2009/09/18 18:31:53 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pmap_stub.c,v 1.21 2009/10/22 19:50:56 rmind Exp $");
 
 #include <sys/param.h>
 
@@ -111,25 +111,17 @@
 }
 
 /*
- * It's a brave new world.  arm32 pmap is different (even from arm26)
+ * It's a brave new world.
  */
-#if defined(__arm__) && !defined(__PROG26)
-void
-pmap_do_remove(pmap_t pmap, vaddr_t sva, vaddr_t eva, int eger)
-{
+#if !defined(__vax__)
 
-	panic("%s: unavailable", __func__);
-}
-#elif !defined(__vax__)
 void
 pmap_remove(pmap_t pmap, vaddr_t sva, vaddr_t eva)
 {
 
 	panic("%s: unavailable", __func__);
 }
-#endif
 
-#ifndef __vax__
 bool
 pmap_extract(pmap_t pmap, vaddr_t va, paddr_t *pap)
 {
@@ -137,6 +129,7 @@
 	*pap = va;
 	return true;
 }
+
 #endif
 
 /*

Reply via email to