diff options
author | Artur Grabowski <art@cvs.openbsd.org> | 2001-05-09 15:31:29 +0000 |
---|---|---|
committer | Artur Grabowski <art@cvs.openbsd.org> | 2001-05-09 15:31:29 +0000 |
commit | bef5c1203e8b821e3eeb308fe0fec1cd4a4b82aa (patch) | |
tree | bb24a5db88cb91fcf4803d90a1e26c911df635ac /sys/arch/amiga | |
parent | 0a2e27bb7e82e11d8f2582564af9ba749623642e (diff) |
More sync to NetBSD.
- Change pmap_change_wiring to pmap_unwire because it's only called that way.
- Remove pmap_pageable because it's seldom implemented and when it is, it's
either almost useless or incorrect. The same information is already passed
to the pmap anyway by pmap_enter and pmap_unwire.
Diffstat (limited to 'sys/arch/amiga')
-rw-r--r-- | sys/arch/amiga/amiga/pmap.c | 50 |
1 files changed, 8 insertions, 42 deletions
diff --git a/sys/arch/amiga/amiga/pmap.c b/sys/arch/amiga/amiga/pmap.c index afb0675235b..5bc3b48f405 100644 --- a/sys/arch/amiga/amiga/pmap.c +++ b/sys/arch/amiga/amiga/pmap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pmap.c,v 1.28 2001/05/05 21:26:34 art Exp $ */ +/* $OpenBSD: pmap.c,v 1.29 2001/05/09 15:31:24 art Exp $ */ /* $NetBSD: pmap.c,v 1.68 1999/06/19 19:44:09 is Exp $ */ /*- @@ -1492,29 +1492,22 @@ validate: } /* - * Routine: pmap_change_wiring + * Routine: pmap_unwire * Function: Change the wiring attribute for a map/virtual-address * pair. * In/out conditions: * The mapping must already exist in the pmap. */ void -pmap_change_wiring(pmap, va, wired) +pmap_unwire(pmap, va) pmap_t pmap; vaddr_t va; - boolean_t wired; { u_int *pte; - /* - * Never called this way. - */ - if (wired) - panic("pmap_change_wiring: wired"); - #ifdef DEBUG if (pmapdebug & PDB_FOLLOW) - printf("pmap_change_wiring(%p, %lx, %x)\n", pmap, va, wired); + printf("pmap_unwire(%p, %lx)\n", pmap, va); #endif if (pmap == NULL) return; @@ -1528,7 +1521,7 @@ pmap_change_wiring(pmap, va, wired) */ if (!pmap_ste_v(pmap, va)) { if (pmapdebug & PDB_PARANOIA) - printf("pmap_change_wiring: invalid STE for %lx\n", + printf("pmap_unwire: invalid STE for %lx\n", va); return; } @@ -1538,21 +1531,18 @@ pmap_change_wiring(pmap, va, wired) */ if (!pmap_pte_v(pte)) { if (pmapdebug & PDB_PARANOIA) - printf("pmap_change_wiring: invalid PTE for %lx\n", + printf("pmap_unwire: invalid PTE for %lx\n", va); } #endif - if ((wired && !pmap_pte_w(pte)) || (!wired && pmap_pte_w(pte))) { - if (wired) - pmap->pm_stats.wired_count++; - else + if (pmap_pte_w(pte)) { pmap->pm_stats.wired_count--; } /* * Wiring is not a hardware characteristic so there is no need * to invalidate TLB. */ - pmap_pte_set_w(pte, wired); + pmap_pte_set_w(pte, 0); } /* @@ -1840,30 +1830,6 @@ pmap_copy_page(src, dst) physcopyseg(src, dst); } - -/* - * 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; -{ - /* nothing */ -} - /* * Clear the modify bits on the specified physical page. */ |