diff options
author | Artur Grabowski <art@cvs.openbsd.org> | 2001-12-08 02:24:08 +0000 |
---|---|---|
committer | Artur Grabowski <art@cvs.openbsd.org> | 2001-12-08 02:24:08 +0000 |
commit | 9d60d5abd9786f2184ff5714f221264c291225aa (patch) | |
tree | 71197001dc10102fc702df7ebc630748f8f40d9e /sys/arch/alpha | |
parent | 76e77305cc16957c8ab6b04545a4d21c35a51adb (diff) |
Sprinkle pmap_update calls where relevant and some other
misc pmap usage fixes.
Diffstat (limited to 'sys/arch/alpha')
-rw-r--r-- | sys/arch/alpha/alpha/machdep.c | 3 | ||||
-rw-r--r-- | sys/arch/alpha/alpha/pmap.c | 3 | ||||
-rw-r--r-- | sys/arch/alpha/alpha/vm_machdep.c | 5 | ||||
-rw-r--r-- | sys/arch/alpha/dev/bus_dma.c | 3 |
4 files changed, 10 insertions, 4 deletions
diff --git a/sys/arch/alpha/alpha/machdep.c b/sys/arch/alpha/alpha/machdep.c index ab12c4c4a4b..c9b7f85e0fb 100644 --- a/sys/arch/alpha/alpha/machdep.c +++ b/sys/arch/alpha/alpha/machdep.c @@ -1,4 +1,4 @@ -/* $OpenBSD: machdep.c,v 1.60 2001/11/28 16:13:27 art Exp $ */ +/* $OpenBSD: machdep.c,v 1.61 2001/12/08 02:24:05 art Exp $ */ /* $NetBSD: machdep.c,v 1.210 2000/06/01 17:12:38 thorpej Exp $ */ /*- @@ -942,6 +942,7 @@ cpu_startup() curbuf += PAGE_SIZE; curbufsize -= PAGE_SIZE; } + pmap_update(pmap_kernel()); } /* * Allocate a submap for exec arguments. This map effectively diff --git a/sys/arch/alpha/alpha/pmap.c b/sys/arch/alpha/alpha/pmap.c index 7c98e6ca826..8306df273c4 100644 --- a/sys/arch/alpha/alpha/pmap.c +++ b/sys/arch/alpha/alpha/pmap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pmap.c,v 1.30 2001/12/05 16:30:47 art Exp $ */ +/* $OpenBSD: pmap.c,v 1.31 2001/12/08 02:24:05 art Exp $ */ /* $NetBSD: pmap.c,v 1.154 2000/12/07 22:18:55 thorpej Exp $ */ /*- @@ -1300,6 +1300,7 @@ pmap_destroy(pmap_t pmap) printf("pmap_release: %ld level 3 tables left\n", pmap->pm_nlev3); pmap_remove(pmap, VM_MIN_ADDRESS, VM_MAX_ADDRESS); + pmap_update(pmap); if (pmap->pm_lev1map != kernel_lev1map) panic("pmap_release: pmap_remove() didn't"); } diff --git a/sys/arch/alpha/alpha/vm_machdep.c b/sys/arch/alpha/alpha/vm_machdep.c index b44203dd34e..05d78106c69 100644 --- a/sys/arch/alpha/alpha/vm_machdep.c +++ b/sys/arch/alpha/alpha/vm_machdep.c @@ -1,4 +1,4 @@ -/* $OpenBSD: vm_machdep.c,v 1.26 2001/11/06 19:53:13 miod Exp $ */ +/* $OpenBSD: vm_machdep.c,v 1.27 2001/12/08 02:24:05 art Exp $ */ /* $NetBSD: vm_machdep.c,v 1.55 2000/03/29 03:49:48 simonb Exp $ */ /* @@ -348,6 +348,7 @@ vmapbuf(bp, len) faddr += PAGE_SIZE; taddr += PAGE_SIZE; } + pmap_update(vm_map_pmap(phys_map)); } /* @@ -365,6 +366,8 @@ vunmapbuf(bp, len) addr = trunc_page((vaddr_t)bp->b_data); off = (vaddr_t)bp->b_data - addr; len = round_page(off + len); + pmap_remove(vm_map_pmap(phys_map), addr, addr + len); + pmap_update(vm_map_pmap(phys_map)); uvm_km_free_wakeup(phys_map, addr, len); bp->b_data = bp->b_saveaddr; bp->b_saveaddr = NULL; diff --git a/sys/arch/alpha/dev/bus_dma.c b/sys/arch/alpha/dev/bus_dma.c index a61c6cca9a7..ad2ef1b2bff 100644 --- a/sys/arch/alpha/dev/bus_dma.c +++ b/sys/arch/alpha/dev/bus_dma.c @@ -1,4 +1,4 @@ -/* $OpenBSD: bus_dma.c,v 1.7 2001/11/28 16:24:26 art Exp $ */ +/* $OpenBSD: bus_dma.c,v 1.8 2001/12/08 02:24:05 art Exp $ */ /* $NetBSD: bus_dma.c,v 1.40 2000/07/17 04:47:56 thorpej Exp $ */ /*- @@ -606,6 +606,7 @@ _bus_dmamem_map(t, segs, nsegs, size, kvap, flags) VM_PROT_READ | VM_PROT_WRITE | PMAP_WIRED); } } + pmap_update(pmap_kernel()); return (0); } |