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/sun3 | |
parent | 76e77305cc16957c8ab6b04545a4d21c35a51adb (diff) |
Sprinkle pmap_update calls where relevant and some other
misc pmap usage fixes.
Diffstat (limited to 'sys/arch/sun3')
-rw-r--r-- | sys/arch/sun3/sun3/autoconf.c | 3 | ||||
-rw-r--r-- | sys/arch/sun3/sun3/machdep.c | 5 | ||||
-rw-r--r-- | sys/arch/sun3/sun3/mem.c | 4 | ||||
-rw-r--r-- | sys/arch/sun3/sun3/vm_machdep.c | 4 |
4 files changed, 12 insertions, 4 deletions
diff --git a/sys/arch/sun3/sun3/autoconf.c b/sys/arch/sun3/sun3/autoconf.c index 8bb9ca6f98e..ef9c4dc780b 100644 --- a/sys/arch/sun3/sun3/autoconf.c +++ b/sys/arch/sun3/sun3/autoconf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: autoconf.c,v 1.17 2001/11/06 19:53:16 miod Exp $ */ +/* $OpenBSD: autoconf.c,v 1.18 2001/12/08 02:24:07 art Exp $ */ /* $NetBSD: autoconf.c,v 1.37 1996/11/20 18:57:22 gwr Exp $ */ /*- @@ -291,6 +291,7 @@ bus_mapin(bustype, paddr, sz) pa += NBPG; } while ((sz -= NBPG) > 0); #endif + pmap_update(pmap_kernel()); return ((char*)retval); } diff --git a/sys/arch/sun3/sun3/machdep.c b/sys/arch/sun3/sun3/machdep.c index 5d3a40c7ffb..d73b5675e44 100644 --- a/sys/arch/sun3/sun3/machdep.c +++ b/sys/arch/sun3/sun3/machdep.c @@ -1,4 +1,4 @@ -/* $OpenBSD: machdep.c,v 1.46 2001/11/28 16:13:29 art Exp $ */ +/* $OpenBSD: machdep.c,v 1.47 2001/12/08 02:24:07 art Exp $ */ /* $NetBSD: machdep.c,v 1.77 1996/10/13 03:47:51 christos Exp $ */ /* @@ -317,6 +317,7 @@ cpu_startup() curbufsize -= PAGE_SIZE; } } + pmap_update(kernel_map->pmap); /* * Allocate a submap for exec arguments. This map effectively @@ -788,8 +789,10 @@ dumpsys() printf("\r%4d", todo); pmap_enter(pmap_kernel(), vmmap, paddr | PMAP_NC, VM_PROT_READ, VM_PROT_READ); + pmap_update(pmap_kernel()); error = (*dsw->d_dump)(dumpdev, blkno, vaddr, NBPG); pmap_remove(pmap_kernel(), vmmap, vmmap + NBPG); + pmap_update(pmap_kernel()); if (error) goto fail; paddr += NBPG; diff --git a/sys/arch/sun3/sun3/mem.c b/sys/arch/sun3/sun3/mem.c index 3766c46972c..4de002442ce 100644 --- a/sys/arch/sun3/sun3/mem.c +++ b/sys/arch/sun3/sun3/mem.c @@ -1,4 +1,4 @@ -/* $OpenBSD: mem.c,v 1.17 2001/11/06 19:53:16 miod Exp $ */ +/* $OpenBSD: mem.c,v 1.18 2001/12/08 02:24:07 art Exp $ */ /* $NetBSD: mem.c,v 1.19 1995/08/08 21:09:01 gwr Exp $ */ /* @@ -171,10 +171,12 @@ mmrw(dev, uio, flags) pmap_enter(pmap_kernel(), vmmap, trunc_page(v), uio->uio_rw == UIO_READ ? VM_PROT_READ : VM_PROT_WRITE, PMAP_WIRED); + pmap_update(pmap_kernel()); o = uio->uio_offset & PGOFSET; c = min(uio->uio_resid, (int)(NBPG - o)); error = uiomove((caddr_t)vmmap + o, c, uio); pmap_remove(pmap_kernel(), vmmap, vmmap + NBPG); + pmap_update(pmap_kernel()); continue; /* minor device 1 is kernel memory */ diff --git a/sys/arch/sun3/sun3/vm_machdep.c b/sys/arch/sun3/sun3/vm_machdep.c index 9b6daee2307..b9ae489831a 100644 --- a/sys/arch/sun3/sun3/vm_machdep.c +++ b/sys/arch/sun3/sun3/vm_machdep.c @@ -1,4 +1,4 @@ -/* $OpenBSD: vm_machdep.c,v 1.21 2001/11/06 18:41:10 art Exp $ */ +/* $OpenBSD: vm_machdep.c,v 1.22 2001/12/08 02:24:07 art Exp $ */ /* $NetBSD: vm_machdep.c,v 1.35 1996/04/26 18:38:06 gwr Exp $ */ /* @@ -271,6 +271,7 @@ pagemove(from, to, size) to += NBPG; size -= NBPG; } + pmap_update(pmap_kernel()); } /* @@ -368,6 +369,7 @@ vunmapbuf(bp, sz) /* Actually remove mappings, which does cache flush. */ pmap_remove(pmap_kernel(), pgva, pgva + size); + pmap_update(pmap_kernel()); /* * Now remove the map entry, which may also call |