diff --git a/sys/arch/amiga/amiga/vm_machdep.c b/sys/arch/amiga/amiga/vm_machdep.c index 86d5a8c10408..807fa809a0e8 100644 --- a/sys/arch/amiga/amiga/vm_machdep.c +++ b/sys/arch/amiga/amiga/vm_machdep.c @@ -1,4 +1,4 @@ -/* $NetBSD: vm_machdep.c,v 1.58 2001/06/02 18:09:09 chs Exp $ */ +/* $NetBSD: vm_machdep.c,v 1.59 2001/08/04 07:44:52 chs Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -166,11 +166,8 @@ pagemove(from, to, size) if (pmap_extract(pmap_kernel(), (vaddr_t)to, NULL) == TRUE) panic("pagemove 3"); #endif - pmap_remove(pmap_kernel(), - (vaddr_t)from, (vaddr_t)from + PAGE_SIZE); - pmap_enter(pmap_kernel(), - (vaddr_t)to, pa, VM_PROT_READ|VM_PROT_WRITE, - VM_PROT_READ|VM_PROT_WRITE|PMAP_WIRED); + pmap_kremove((vaddr_t)from, PAGE_SIZE); + pmap_kenter_pa((vaddr_t)to, pa, VM_PROT_READ | VM_PROT_WRITE); from += PAGE_SIZE; to += PAGE_SIZE; size -= PAGE_SIZE; @@ -338,7 +335,7 @@ vmapbuf(bp, len) struct buf *bp; vm_size_t len; { - struct pmap *upmap, *kpmap; + struct pmap *upmap; vaddr_t uva; /* User VA (map from) */ vaddr_t kva; /* Kernel VA (new to) */ paddr_t pa; /* physical address */ @@ -354,12 +351,10 @@ vmapbuf(bp, len) bp->b_data = (caddr_t)(kva + off); upmap = vm_map_pmap(&bp->b_proc->p_vmspace->vm_map); - kpmap = vm_map_pmap(phys_map); do { if (pmap_extract(upmap, uva, &pa) == FALSE) panic("vmapbuf: null page frame"); - pmap_enter(kpmap, kva, pa, VM_PROT_READ|VM_PROT_WRITE, - PMAP_WIRED); + pmap_kenter_pa(kva, pa, VM_PROT_READ | VM_PROT_WRITE); uva += PAGE_SIZE; kva += PAGE_SIZE; len -= PAGE_SIZE; @@ -385,10 +380,7 @@ vunmapbuf(bp, len) off = (vaddr_t)bp->b_data - kva; len = m68k_round_page(off + len); - /* - * pmap_remove() is unnecessary here, as kmem_free_wakeup() - * will do it for us. - */ + pmap_kremove(kva, len); uvm_km_free_wakeup(phys_map, kva, len); bp->b_data = bp->b_saveaddr; bp->b_saveaddr = 0; diff --git a/sys/arch/atari/atari/vm_machdep.c b/sys/arch/atari/atari/vm_machdep.c index 7a9b4e5d28b6..c1f38f73ea98 100644 --- a/sys/arch/atari/atari/vm_machdep.c +++ b/sys/arch/atari/atari/vm_machdep.c @@ -1,4 +1,4 @@ -/* $NetBSD: vm_machdep.c,v 1.36 2001/06/02 18:09:11 chs Exp $ */ +/* $NetBSD: vm_machdep.c,v 1.37 2001/08/04 07:45:42 chs Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -167,11 +167,8 @@ pagemove(from, to, size) if (pmap_extract(pmap_kernel(), (vaddr_t)to, NULL) == TRUE) panic("pagemove 3"); #endif - pmap_remove(pmap_kernel(), - (vaddr_t)from, (vaddr_t)from + PAGE_SIZE); - pmap_enter(pmap_kernel(), - (vaddr_t)to, pa, VM_PROT_READ|VM_PROT_WRITE, - VM_PROT_READ|VM_PROT_WRITE|PMAP_WIRED); + pmap_kremove((vaddr_t)from, PAGE_SIZE); + pmap_kenter_pa((vaddr_t)to, pa, VM_PROT_READ | VM_PROT_WRITE); from += PAGE_SIZE; to += PAGE_SIZE; size -= PAGE_SIZE; @@ -336,7 +333,7 @@ vmapbuf(bp, len) struct buf *bp; vsize_t len; { - struct pmap *upmap, *kpmap; + struct pmap *upmap; vm_offset_t uva; /* User VA (map from) */ vm_offset_t kva; /* Kernel VA (new to) */ vm_offset_t pa; /* physical address */ @@ -352,12 +349,10 @@ vmapbuf(bp, len) bp->b_data = (caddr_t)(kva + off); upmap = vm_map_pmap(&bp->b_proc->p_vmspace->vm_map); - kpmap = vm_map_pmap(phys_map); do { if (pmap_extract(upmap, uva, &pa) == FALSE) panic("vmapbuf: null page frame"); - pmap_enter(kpmap, kva, pa, VM_PROT_READ|VM_PROT_WRITE, - PMAP_WIRED); + pmap_kenter_pa(kva, pa, VM_PROT_READ | VM_PROT_WRITE); uva += PAGE_SIZE; kva += PAGE_SIZE; len -= PAGE_SIZE; @@ -383,10 +378,7 @@ vunmapbuf(bp, len) off = (vm_offset_t)bp->b_data - kva; len = m68k_round_page(off + len); - /* - * pmap_remove() is unnecessary here, as kmem_free_wakeup() - * will do it for us. - */ + pmap_kremove(kva, len); uvm_km_free_wakeup(phys_map, kva, len); bp->b_data = bp->b_saveaddr; bp->b_saveaddr = 0; diff --git a/sys/arch/luna68k/luna68k/vm_machdep.c b/sys/arch/luna68k/luna68k/vm_machdep.c index 3839543b7282..5059ac178f6a 100644 --- a/sys/arch/luna68k/luna68k/vm_machdep.c +++ b/sys/arch/luna68k/luna68k/vm_machdep.c @@ -1,5 +1,5 @@ -/* $NetBSD: vm_machdep.c,v 1.7 2001/06/02 18:09:14 chs Exp $ */ -/* $NetBSD: vm_machdep.c,v 1.7 2001/06/02 18:09:14 chs Exp $ */ +/* $NetBSD: vm_machdep.c,v 1.8 2001/08/04 07:46:22 chs Exp $ */ +/* $NetBSD: vm_machdep.c,v 1.8 2001/08/04 07:46:22 chs Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -44,7 +44,7 @@ */ #include /* RCS ID & Copyright macro defns */ -__KERNEL_RCSID(0, "$NetBSD: vm_machdep.c,v 1.7 2001/06/02 18:09:14 chs Exp $"); +__KERNEL_RCSID(0, "$NetBSD: vm_machdep.c,v 1.8 2001/08/04 07:46:22 chs Exp $"); #include "opt_compat_hpux.h" @@ -236,11 +236,8 @@ pagemove(from, to, size) if (pmap_extract(pmap_kernel(), (vaddr_t)to, NULL) == TRUE) panic("pagemove 3"); #endif - pmap_remove(pmap_kernel(), - (vaddr_t)from, (vaddr_t)from + PAGE_SIZE); - pmap_enter(pmap_kernel(), - (vaddr_t)to, pa, VM_PROT_READ|VM_PROT_WRITE, - VM_PROT_READ|VM_PROT_WRITE|PMAP_WIRED); + pmap_kremove((vaddr_t)from, PAGE_SIZE); + pmap_kenter_pa((vaddr_t)to, pa, VM_PROT_READ | VM_PROT_WRITE); from += PAGE_SIZE; to += PAGE_SIZE; size -= PAGE_SIZE; @@ -309,7 +306,7 @@ vmapbuf(bp, len) struct buf *bp; vsize_t len; { - struct pmap *upmap, *kpmap; + struct pmap *upmap; vaddr_t uva; /* User VA (map from) */ vaddr_t kva; /* Kernel VA (new to) */ paddr_t pa; /* physical address */ @@ -325,12 +322,10 @@ vmapbuf(bp, len) bp->b_data = (caddr_t)(kva + off); upmap = vm_map_pmap(&bp->b_proc->p_vmspace->vm_map); - kpmap = vm_map_pmap(phys_map); do { if (pmap_extract(upmap, uva, &pa) == FALSE) panic("vmapbuf: null page frame"); - pmap_enter(kpmap, kva, pa, VM_PROT_READ|VM_PROT_WRITE, - PMAP_WIRED); + pmap_kenter_pa(kva, pa, VM_PROT_READ | VM_PROT_WRITE); uva += PAGE_SIZE; kva += PAGE_SIZE; len -= PAGE_SIZE; @@ -356,10 +351,7 @@ vunmapbuf(bp, len) off = (vaddr_t)bp->b_data - kva; len = m68k_round_page(off + len); - /* - * pmap_remove() is unnecessary here, as kmem_free_wakeup() - * will do it for us. - */ + pmap_kremove(kva, len); uvm_km_free_wakeup(phys_map, kva, len); bp->b_data = bp->b_saveaddr; bp->b_saveaddr = 0; diff --git a/sys/arch/mac68k/mac68k/vm_machdep.c b/sys/arch/mac68k/mac68k/vm_machdep.c index 75e0a3879370..93674792aa08 100644 --- a/sys/arch/mac68k/mac68k/vm_machdep.c +++ b/sys/arch/mac68k/mac68k/vm_machdep.c @@ -1,4 +1,4 @@ -/* $NetBSD: vm_machdep.c,v 1.50 2001/06/02 18:09:15 chs Exp $ */ +/* $NetBSD: vm_machdep.c,v 1.51 2001/08/04 07:46:56 chs Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -223,11 +223,8 @@ pagemove(from, to, size) if (pmap_extract(pmap_kernel(), (vaddr_t)to, NULL) == TRUE) panic("pagemove 3"); #endif - pmap_remove(pmap_kernel(), - (vaddr_t)from, (vaddr_t)from + PAGE_SIZE); - pmap_enter(pmap_kernel(), - (vaddr_t)to, pa, VM_PROT_READ|VM_PROT_WRITE, - VM_PROT_READ|VM_PROT_WRITE|PMAP_WIRED); + pmap_kremove((vaddr_t)from, PAGE_SIZE); + pmap_kenter_pa((vaddr_t)to, pa, VM_PROT_READ|VM_PROT_WRITE); from += PAGE_SIZE; to += PAGE_SIZE; size -= PAGE_SIZE; @@ -296,7 +293,7 @@ vmapbuf(bp, len) struct buf *bp; vsize_t len; { - struct pmap *upmap, *kpmap; + struct pmap *upmap; vaddr_t uva; /* User VA (map from) */ vaddr_t kva; /* Kernel VA (new to) */ paddr_t pa; /* physical address */ @@ -312,12 +309,10 @@ vmapbuf(bp, len) bp->b_data = (caddr_t)(kva + off); upmap = vm_map_pmap(&bp->b_proc->p_vmspace->vm_map); - kpmap = vm_map_pmap(phys_map); do { if (pmap_extract(upmap, uva, &pa) == FALSE) panic("vmapbuf: null page frame"); - pmap_enter(kpmap, kva, pa, VM_PROT_READ|VM_PROT_WRITE, - PMAP_WIRED); + pmap_kenter_pa(kva, pa, VM_PROT_READ | VM_PROT_WRITE); uva += PAGE_SIZE; kva += PAGE_SIZE; len -= PAGE_SIZE; @@ -343,10 +338,7 @@ vunmapbuf(bp, len) off = (vaddr_t)bp->b_data - kva; len = m68k_round_page(off + len); - /* - * pmap_remove() is unnecessary here, as kmem_free_wakeup() - * will do it for us. - */ + pmap_kremove(kva, len); uvm_km_free_wakeup(phys_map, kva, len); bp->b_data = bp->b_saveaddr; bp->b_saveaddr = 0;