Source-Changes-HG archive

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

[src/trunk]: src/sys Remove pmap_pageable(); no pmap implements it, and it is...



details:   https://anonhg.NetBSD.org/src/rev/f7b8de08bb11
branches:  trunk
changeset: 473737:f7b8de08bb11
user:      thorpej <thorpej%NetBSD.org@localhost>
date:      Thu Jun 17 18:21:21 1999 +0000

description:
Remove pmap_pageable(); no pmap implements it, and it is not really useful,
because pmap_enter()/pmap_change_wiring() (soon to be pmap_unwire())
communicate the information in greater detail.

diffstat:

 sys/arch/alpha/alpha/pmap.c     |  30 +---------------
 sys/arch/amiga/amiga/pmap.c     |  72 +----------------------------------------
 sys/arch/arm32/arm32/pmap.c     |  24 +-------------
 sys/arch/atari/atari/pmap.c     |  72 +----------------------------------------
 sys/arch/hp300/hp300/pmap.c     |  26 +--------------
 sys/arch/i386/i386/pmap.c       |  21 +-----------
 sys/arch/mac68k/mac68k/pmap.c   |  26 +--------------
 sys/arch/mips/mips/pmap.c       |  32 +-----------------
 sys/arch/mvme68k/mvme68k/pmap.c |  26 +--------------
 sys/arch/next68k/next68k/pmap.c |  29 +---------------
 sys/arch/pc532/pc532/pmap.c     |  21 +-----------
 sys/arch/pica/pica/pmap.c       |  30 +----------------
 sys/arch/powerpc/powerpc/pmap.c |  15 +-------
 sys/arch/sparc/include/pmap.h   |   3 +-
 sys/arch/sparc/sparc/pmap.c     |  21 +-----------
 sys/arch/sparc64/sparc64/pmap.c |  15 +-------
 sys/arch/sun3/sun3/pmap.c       |  25 +-------------
 sys/arch/sun3/sun3x/pmap.c      |  22 +-----------
 sys/arch/vax/include/pmap.h     |   3 +-
 sys/arch/x68k/x68k/pmap.c       |  26 +--------------
 sys/uvm/uvm_fault.c             |  18 +---------
 sys/vm/pmap.h                   |   4 +-
 22 files changed, 25 insertions(+), 536 deletions(-)

diffs (truncated from 888 to 300 lines):

diff -r b07751f9bbe3 -r f7b8de08bb11 sys/arch/alpha/alpha/pmap.c
--- a/sys/arch/alpha/alpha/pmap.c       Thu Jun 17 17:27:13 1999 +0000
+++ b/sys/arch/alpha/alpha/pmap.c       Thu Jun 17 18:21:21 1999 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.102 1999/05/31 20:49:00 ross Exp $ */
+/* $NetBSD: pmap.c,v 1.103 1999/06/17 18:21:24 thorpej Exp $ */
 
 /*-
  * Copyright (c) 1998, 1999 The NetBSD Foundation, Inc.
@@ -155,7 +155,7 @@
 
 #include <sys/cdefs.h>                 /* RCS ID & Copyright macro defns */
 
-__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.102 1999/05/31 20:49:00 ross Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.103 1999/06/17 18:21:24 thorpej Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -2317,32 +2317,6 @@
 }
 
 /*
- * pmap_pageable:              [ INTERFACE ]
- *
- *     Make the specified pages (by pmap, offset) pageable (or not) as
- *     requested.
- *
- *     A page which is not pageable may not take a fault; therefore,
- *     its page table entry must remain valid for the duration.
- *
- *     This routine is merely advisory; pmap_enter() will specify that
- *     these pages are to be wired down (or not) as appropriate.
- */
-void
-pmap_pageable(pmap, sva, eva, pageable)
-       pmap_t          pmap;
-       vaddr_t         sva, eva;
-       boolean_t       pageable;
-{
-
-#ifdef DEBUG
-       if (pmapdebug & PDB_FOLLOW)
-               printf("pmap_pageable(%p, %lx, %lx, %x)\n",
-                      pmap, sva, eva, pageable);
-#endif
-}
-
-/*
  * pmap_clear_modify:          [ INTERFACE ]
  *
  *     Clear the modify bits on the specified physical page.
diff -r b07751f9bbe3 -r f7b8de08bb11 sys/arch/amiga/amiga/pmap.c
--- a/sys/arch/amiga/amiga/pmap.c       Thu Jun 17 17:27:13 1999 +0000
+++ b/sys/arch/amiga/amiga/pmap.c       Thu Jun 17 18:21:21 1999 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: pmap.c,v 1.65 1999/05/26 19:16:29 thorpej Exp $        */
+/*     $NetBSD: pmap.c,v 1.66 1999/06/17 18:21:27 thorpej Exp $        */
 
 /* 
  * Copyright (c) 1991 Regents of the University of California.
@@ -2001,76 +2001,6 @@
 }
 
 /*
- *     Routine:        pmap_pageable
- *     Function:
- *             Make the specified pages (by pmap, offset)
- *             pageable (or not) as requested.
- *
- *             A page which is not pageable may not take
- *             a fault; therefore, its page table entry
- *             must remain valid for the duration.
- *
- *             This routine is merely advisory; pmap_enter
- *             will specify that these pages are to be wired
- *             down (or not) as appropriate.
- */
-void
-pmap_pageable(pmap, sva, eva, pageable)
-       pmap_t          pmap;
-       vm_offset_t     sva, eva;
-       boolean_t       pageable;
-{
-#ifdef DEBUG
-       if (pmapdebug & PDB_FOLLOW)
-               printf("pmap_pageable(%p, %lx, %lx, %x)\n",
-                      pmap, sva, eva, pageable);
-#endif
-       /*
-        * If we are making a PT page pageable then all valid
-        * mappings must be gone from that page.  Hence it should
-        * be all zeros and there is no need to clean it.
-        * Assumptions:
-        *      - we are called with only one page at a time
-        *      - PT pages have only one pv_table entry
-        */
-       if (pmap == pmap_kernel() && pageable && sva + PAGE_SIZE == eva) {
-               register pv_entry_t pv;
-               register vm_offset_t pa;
-
-#ifdef DEBUG
-               if ((pmapdebug & (PDB_FOLLOW|PDB_PTPAGE)) == PDB_PTPAGE)
-                       printf("pmap_pageable(%p, %lx, %lx, %x)\n",
-                              pmap, sva, eva, pageable);
-#endif
-               if (!pmap_ste_v(pmap, sva))
-                       return;
-               pa = pmap_pte_pa(pmap_pte(pmap, sva));
-               if (!PAGE_IS_MANAGED(pa))
-                       return;
-               pv = pa_to_pvh(pa);
-               if (pv->pv_ptste == NULL)
-                       return;
-#ifdef DEBUG
-               if (pv->pv_va != sva || pv->pv_next) {
-                       printf("pmap_pageable: bad PT page va %lx next %p\n",
-                              pv->pv_va, pv->pv_next);
-                       return;
-               }
-#endif
-               /*
-                * page is unused, free it now!
-                */
-               pmap_remove(pv->pv_pmap, pv->pv_va, pv->pv_va + NBPG);
-               uvm_pagefree(PHYS_TO_VM_PAGE(pa));
-#ifdef DEBUG
-               if (pmapdebug & PDB_PTPAGE)
-                       printf("pmap_pageable: PT page %lx(%x) freed\n",
-                              sva, *(int *)pmap_pte(pmap, sva));
-#endif
-       }
-}
-
-/*
  *     Clear the modify bits on the specified physical page.
  */
 
diff -r b07751f9bbe3 -r f7b8de08bb11 sys/arch/arm32/arm32/pmap.c
--- a/sys/arch/arm32/arm32/pmap.c       Thu Jun 17 17:27:13 1999 +0000
+++ b/sys/arch/arm32/arm32/pmap.c       Thu Jun 17 18:21:21 1999 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: pmap.c,v 1.60 1999/04/11 04:04:06 chs Exp $    */
+/*     $NetBSD: pmap.c,v 1.61 1999/06/17 18:21:28 thorpej Exp $        */
 
 /*-
  * Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -1311,28 +1311,6 @@
 
 
 /*
- * void pmap_pageable(pmap_t pmap, vm_offset_t sva, vm_offset_t eva,
- *   boolean_t pageable)
- *  
- * Make the specified pages (by pmap, offset) pageable (or not) as requested.
- *
- * A page which is not pageable may not take a fault; therefore, its
- * page table entry must remain valid for the duration.
- *
- * This routine is merely advisory; pmap_enter will specify that these
- * pages are to be wired down (or not) as appropriate.
- */
- 
-void
-pmap_pageable(pmap, sva, eva, pageable)
-       pmap_t pmap;
-       vm_offset_t sva;
-       vm_offset_t eva;
-       boolean_t pageable;
-{
-}
-
-/*
  * Activate the address space for the specified process.  If the process
  * is the current process, load the new MMU context.
  */
diff -r b07751f9bbe3 -r f7b8de08bb11 sys/arch/atari/atari/pmap.c
--- a/sys/arch/atari/atari/pmap.c       Thu Jun 17 17:27:13 1999 +0000
+++ b/sys/arch/atari/atari/pmap.c       Thu Jun 17 18:21:21 1999 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: pmap.c,v 1.46 1999/06/17 07:59:16 leo Exp $    */
+/*     $NetBSD: pmap.c,v 1.47 1999/06/17 18:21:28 thorpej Exp $        */
 
 /* 
  * Copyright (c) 1991 Regents of the University of California.
@@ -1722,76 +1722,6 @@
 }
 
 /*
- *     Routine:        pmap_pageable
- *     Function:
- *             Make the specified pages (by pmap, offset)
- *             pageable (or not) as requested.
- *
- *             A page which is not pageable may not take
- *             a fault; therefore, its page table entry
- *             must remain valid for the duration.
- *
- *             This routine is merely advisory; pmap_enter
- *             will specify that these pages are to be wired
- *             down (or not) as appropriate.
- */
-void
-pmap_pageable(pmap, sva, eva, pageable)
-       pmap_t          pmap;
-       vaddr_t         sva, eva;
-       boolean_t       pageable;
-{
-#ifdef DEBUG
-       if (pmapdebug & PDB_FOLLOW)
-               printf("pmap_pageable(%p, %lx, %lx, %x)\n",
-                      pmap, sva, eva, pageable);
-#endif
-       /*
-        * If we are making a PT page pageable then all valid
-        * mappings must be gone from that page.  Hence it should
-        * be all zeros and there is no need to clean it.
-        * Assumptions:
-        *      - we are called with only one page at a time
-        *      - PT pages have only one pv_table entry
-        */
-       if (pmap == pmap_kernel() && pageable && sva + PAGE_SIZE == eva) {
-               register pv_entry_t pv;
-               register paddr_t pa;
-
-#ifdef DEBUG
-               if ((pmapdebug & (PDB_FOLLOW|PDB_PTPAGE)) == PDB_PTPAGE)
-                       printf("pmap_pageable(%p, %lx, %lx, %x)\n",
-                              pmap, sva, eva, pageable);
-#endif
-               if (!pmap_ste_v(pmap, sva))
-                       return;
-               pa = pmap_pte_pa(pmap_pte(pmap, sva));
-               if (!PAGE_IS_MANAGED(pa))
-                       return;
-               pv = pa_to_pvh(pa);
-               if (pv->pv_ptste == NULL)
-                       return;
-#ifdef DEBUG
-               if (pv->pv_va != sva || pv->pv_next) {
-                       printf("pmap_pageable: bad PT page va %lx next %p\n",
-                              pv->pv_va, pv->pv_next);
-                       return;
-               }
-#endif
-               /*
-                * page is unused, free it now!
-                */
-               pmap_remove(pv->pv_pmap, pv->pv_va, pv->pv_va + NBPG);
-               uvm_pagefree(PHYS_TO_VM_PAGE(pa));
-#ifdef DEBUG
-               if (pmapdebug & PDB_PTPAGE)
-                       printf("pmap_pageable: PT page %lx(%x) freed\n",
-                              sva, *(int *)pmap_pte(pmap, sva));
-#endif
-       }
-}
-
-/*
  *     Clear the modify bits on the specified physical page.
  */
 
diff -r b07751f9bbe3 -r f7b8de08bb11 sys/arch/hp300/hp300/pmap.c
--- a/sys/arch/hp300/hp300/pmap.c       Thu Jun 17 17:27:13 1999 +0000
+++ b/sys/arch/hp300/hp300/pmap.c       Thu Jun 17 18:21:21 1999 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: pmap.c,v 1.75 1999/06/15 22:18:07 thorpej Exp $        */
+/*     $NetBSD: pmap.c,v 1.76 1999/06/17 18:21:29 thorpej Exp $        */
 
 /*-
  * Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -1832,30 +1832,6 @@
 }
 
 /*
- * pmap_pageable:              [ INTERFACE ]
- *
- *     Make the specified pages (by pmap, offset) pageable (or not) as
- *     requested.
- *
- *     A page which is not pageable may not take a fault; therefore,
- *     its page table entry must remain valid for the duration.
- *
- *     This routine is merely advisory; pmap_enter() will specify that
- *     these pages are to be wired down (or not) as appropriate.
- */
-void
-pmap_pageable(pmap, sva, eva, pageable)
-       pmap_t          pmap;
-       vaddr_t         sva, eva;
-       boolean_t       pageable;
-{
-
-       PMAP_DPRINTF(PDB_FOLLOW,
-           ("pmap_pageable(%p, %lx, %lx, %x)\n",
-           pmap, sva, eva, pageable));
-}
-
-/*
  * pmap_clear_modify:          [ INTERFACE ]
  *



Home | Main Index | Thread Index | Old Index