summaryrefslogtreecommitdiff
path: root/sys/arch/sun3
diff options
context:
space:
mode:
authorArtur Grabowski <art@cvs.openbsd.org>2001-12-08 02:24:08 +0000
committerArtur Grabowski <art@cvs.openbsd.org>2001-12-08 02:24:08 +0000
commit9d60d5abd9786f2184ff5714f221264c291225aa (patch)
tree71197001dc10102fc702df7ebc630748f8f40d9e /sys/arch/sun3
parent76e77305cc16957c8ab6b04545a4d21c35a51adb (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.c3
-rw-r--r--sys/arch/sun3/sun3/machdep.c5
-rw-r--r--sys/arch/sun3/sun3/mem.c4
-rw-r--r--sys/arch/sun3/sun3/vm_machdep.c4
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