summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/arch/alpha/alpha/machdep.c3
-rw-r--r--sys/arch/alpha/alpha/pmap.c3
-rw-r--r--sys/arch/alpha/alpha/vm_machdep.c5
-rw-r--r--sys/arch/alpha/dev/bus_dma.c3
-rw-r--r--sys/arch/amiga/amiga/machdep.c23
-rw-r--r--sys/arch/amiga/amiga/mem.c4
-rw-r--r--sys/arch/amiga/amiga/vm_machdep.c10
-rw-r--r--sys/arch/hppa/hppa/mainbus.c3
-rw-r--r--sys/arch/hppa/hppa/vm_machdep.c3
-rw-r--r--sys/arch/i386/i386/machdep.c8
-rw-r--r--sys/arch/i386/i386/mem.c4
-rw-r--r--sys/arch/i386/i386/pmap.c25
-rw-r--r--sys/arch/i386/i386/vm_machdep.c4
-rw-r--r--sys/arch/i386/include/cpu.h3
-rw-r--r--sys/arch/i386/include/pmap.h4
-rw-r--r--sys/arch/m68k/m68k/mappedcopy.c6
-rw-r--r--sys/arch/m68k/m68k/pmap_motorola.c4
-rw-r--r--sys/arch/mac68k/dev/nubus.c3
-rw-r--r--sys/arch/mac68k/mac68k/bus_space.c3
-rw-r--r--sys/arch/mac68k/mac68k/machdep.c12
-rw-r--r--sys/arch/mac68k/mac68k/mem.c4
-rw-r--r--sys/arch/mac68k/mac68k/trap.c4
-rw-r--r--sys/arch/mac68k/mac68k/vm_machdep.c11
-rw-r--r--sys/arch/macppc/macppc/dma.c3
-rw-r--r--sys/arch/macppc/macppc/machdep.c6
-rw-r--r--sys/arch/macppc/macppc/ofw_machdep.c3
-rw-r--r--sys/arch/mvme68k/mvme68k/machdep.c9
-rw-r--r--sys/arch/mvme68k/mvme68k/mem.c5
-rw-r--r--sys/arch/mvme68k/mvme68k/trap.c4
-rw-r--r--sys/arch/mvme68k/mvme68k/vm_machdep.c4
-rw-r--r--sys/arch/mvme88k/mvme88k/machdep.c4
-rw-r--r--sys/arch/mvme88k/mvme88k/mem.c4
-rw-r--r--sys/arch/mvme88k/mvme88k/vm_machdep.c8
-rw-r--r--sys/arch/mvmeppc/mvmeppc/bus_dma.c3
-rw-r--r--sys/arch/mvmeppc/mvmeppc/machdep.c5
-rw-r--r--sys/arch/powerpc/powerpc/vm_machdep.c4
-rw-r--r--sys/arch/sparc/dev/fga.c4
-rw-r--r--sys/arch/sparc/dev/if_ie.c3
-rw-r--r--sys/arch/sparc/dev/obio.c3
-rw-r--r--sys/arch/sparc/sparc/autoconf.c3
-rw-r--r--sys/arch/sparc/sparc/iommu.c3
-rw-r--r--sys/arch/sparc/sparc/machdep.c6
-rw-r--r--sys/arch/sparc/sparc/mem.c4
-rw-r--r--sys/arch/sparc/sparc/pmap.c4
-rw-r--r--sys/arch/sparc/sparc/vm_machdep.c10
-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
-rw-r--r--sys/arch/vax/vax/bus_dma.c3
-rw-r--r--sys/arch/vax/vax/machdep.c3
-rw-r--r--sys/arch/vax/vax/pmap.c3
-rw-r--r--sys/arch/vax/vax/vm_machdep.c3
-rw-r--r--sys/ddb/db_watch.c4
-rw-r--r--sys/dev/ic/sti.c3
-rw-r--r--sys/dev/isa/aha.c3
-rw-r--r--sys/dev/tc/if_le_ioasic.c3
-rw-r--r--sys/kern/kern_malloc_debug.c4
58 files changed, 190 insertions, 109 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);
}
diff --git a/sys/arch/amiga/amiga/machdep.c b/sys/arch/amiga/amiga/machdep.c
index bcec80a1194..ddfdac77874 100644
--- a/sys/arch/amiga/amiga/machdep.c
+++ b/sys/arch/amiga/amiga/machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: machdep.c,v 1.62 2001/11/30 02:09:34 art Exp $ */
+/* $OpenBSD: machdep.c,v 1.63 2001/12/08 02:24:06 art Exp $ */
/* $NetBSD: machdep.c,v 1.95 1997/08/27 18:31:17 is Exp $ */
/*
@@ -299,15 +299,17 @@ consinit()
void
cpu_startup()
{
- register unsigned i;
- register caddr_t v, firstaddr;
+ unsigned i;
+ caddr_t v, firstaddr;
int base, residual;
#ifdef DEBUG
extern int pmapdebug;
int opmapdebug = pmapdebug;
#endif
- vm_offset_t minaddr, maxaddr;
+ vaddr_t minaddr, maxaddr;
vm_size_t size = 0;
+ vaddr_t va;
+ paddr_t pa;
/*
* Initialize error message buffer (at end of core).
@@ -322,10 +324,14 @@ cpu_startup()
/*
* XXX - shouldn't this be msgbufp + i * PAGE_SIZE?
*/
- for (i = 0; i < btoc(MSGBUFSIZE); i++)
- pmap_enter(pmap_kernel(), (vm_offset_t)msgbufp,
- msgbufpa + i * PAGE_SIZE, VM_PROT_READ|VM_PROT_WRITE,
- VM_PROT_READ|VM_PROT_WRITE|PMAP_WIRED);
+ va = (vaddr_t)msgbufp;
+ pa = (paddr_t)msgbufpa;
+ for (i = 0; i < btoc(MSGBUFSIZE); i++) {
+ pmap_kenter_pa(va, pa, VM_PROT_READ|VM_PROT_WRITE);
+ va += PAGE_SIZE;
+ pa += PAGE_SIZE;
+ }
+ pmap_update(pmap_kernel());
initmsgbuf((caddr_t)msgbufp, round_page(MSGBUFSIZE));
/*
@@ -452,6 +458,7 @@ again:
curbuf += PAGE_SIZE;
curbufsize -= PAGE_SIZE;
}
+ pmap_update(pmap_kernel());
}
/*
diff --git a/sys/arch/amiga/amiga/mem.c b/sys/arch/amiga/amiga/mem.c
index e14ab32e6cd..b3b398b4549 100644
--- a/sys/arch/amiga/amiga/mem.c
+++ b/sys/arch/amiga/amiga/mem.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: mem.c,v 1.16 2001/11/06 19:53:14 miod Exp $ */
+/* $OpenBSD: mem.c,v 1.17 2001/12/08 02:24:06 art Exp $ */
/* $NetBSD: mem.c,v 1.18 1997/02/02 07:17:14 thorpej Exp $ */
/*
@@ -146,11 +146,13 @@ mmrw(dev, uio, flags)
pmap_enter(pmap_kernel(), (vm_offset_t)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(), (vm_offset_t)vmmap,
(vm_offset_t)vmmap + NBPG);
+ pmap_update(pmap_kernel());
continue;
/* minor device 1 is kernel memory */
diff --git a/sys/arch/amiga/amiga/vm_machdep.c b/sys/arch/amiga/amiga/vm_machdep.c
index 7f29f66c40e..6dd14f0d493 100644
--- a/sys/arch/amiga/amiga/vm_machdep.c
+++ b/sys/arch/amiga/amiga/vm_machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: vm_machdep.c,v 1.29 2001/12/07 15:29:44 art Exp $ */
+/* $OpenBSD: vm_machdep.c,v 1.30 2001/12/08 02:24:06 art Exp $ */
/* $NetBSD: vm_machdep.c,v 1.30 1997/05/19 10:14:50 veego Exp $ */
/*
@@ -164,6 +164,7 @@ pagemove(from, to, size)
to += PAGE_SIZE;
size -= PAGE_SIZE;
}
+ pmap_update(pmap_kernel());
}
/*
@@ -331,6 +332,7 @@ vmapbuf(bp, len)
kva += PAGE_SIZE;
len -= PAGE_SIZE;
} while (len);
+ pmap_update(kpmap);
}
/*
@@ -351,10 +353,8 @@ 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_remove(pmap_kernel(), kva, kva + len);
+ pmap_update(pmap_kernel());
uvm_km_free_wakeup(phys_map, kva, len);
bp->b_data = bp->b_saveaddr;
bp->b_saveaddr = 0;
diff --git a/sys/arch/hppa/hppa/mainbus.c b/sys/arch/hppa/hppa/mainbus.c
index 25ed311bca3..5f2bdd792bd 100644
--- a/sys/arch/hppa/hppa/mainbus.c
+++ b/sys/arch/hppa/hppa/mainbus.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: mainbus.c,v 1.19 2001/12/02 04:10:25 mickey Exp $ */
+/* $OpenBSD: mainbus.c,v 1.20 2001/12/08 02:24:06 art Exp $ */
/*
* Copyright (c) 1998-2001 Michael Shalayeff
@@ -745,6 +745,7 @@ mbus_dmamem_alloc(void *v, bus_size_t size, bus_size_t alignment,
#endif
va += PAGE_SIZE;
}
+ pmap_update(pmap_kernel());
return 0;
}
diff --git a/sys/arch/hppa/hppa/vm_machdep.c b/sys/arch/hppa/hppa/vm_machdep.c
index 3f70fa05e1b..2c619405486 100644
--- a/sys/arch/hppa/hppa/vm_machdep.c
+++ b/sys/arch/hppa/hppa/vm_machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: vm_machdep.c,v 1.29 2001/11/28 13:47:38 art Exp $ */
+/* $OpenBSD: vm_machdep.c,v 1.30 2001/12/08 02:24:06 art Exp $ */
/*
* Copyright (c) 1999-2000 Michael Shalayeff
@@ -115,6 +115,7 @@ pagemove(from, to, size)
to += PAGE_SIZE;
size -= PAGE_SIZE;
}
+ pmap_update(pmap_kernel());
}
void
diff --git a/sys/arch/i386/i386/machdep.c b/sys/arch/i386/i386/machdep.c
index 9ec0ac18e4e..9d64564f33b 100644
--- a/sys/arch/i386/i386/machdep.c
+++ b/sys/arch/i386/i386/machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: machdep.c,v 1.188 2001/12/07 17:30:14 art Exp $ */
+/* $OpenBSD: machdep.c,v 1.189 2001/12/08 02:24:06 art Exp $ */
/* $NetBSD: machdep.c,v 1.214 1996/11/10 03:16:17 thorpej Exp $ */
/*-
@@ -359,6 +359,7 @@ cpu_startup()
va += PAGE_SIZE;
pa += PAGE_SIZE;
}
+ pmap_update(pmap_kernel());
initmsgbuf((caddr_t)msgbufp, round_page(MSGBUFSIZE));
printf("%s", version);
@@ -617,6 +618,7 @@ setup_buffers(maxaddr)
pg = TAILQ_NEXT(pg, pageq);
}
}
+ pmap_update(pmap_kernel());
}
/*
@@ -2670,7 +2672,7 @@ bus_mem_add_mapping(bpa, size, cacheable, bshp)
pmap_update_pg(va);
}
}
- tlbflush();
+ pmap_update(pmap_kernel());
return 0;
}
@@ -3100,7 +3102,7 @@ _bus_dmamem_map(t, segs, nsegs, size, kvap, flags)
VM_PROT_READ | VM_PROT_WRITE | PMAP_WIRED);
}
}
- tlbflush();
+ pmap_update(pmap_kernel());
return (0);
}
diff --git a/sys/arch/i386/i386/mem.c b/sys/arch/i386/i386/mem.c
index ae404ead9f9..5f258217f64 100644
--- a/sys/arch/i386/i386/mem.c
+++ b/sys/arch/i386/i386/mem.c
@@ -1,5 +1,5 @@
/* $NetBSD: mem.c,v 1.31 1996/05/03 19:42:19 christos Exp $ */
-/* $OpenBSD: mem.c,v 1.21 2001/11/06 19:53:14 miod Exp $ */
+/* $OpenBSD: mem.c,v 1.22 2001/12/08 02:24:06 art Exp $ */
/*
* Copyright (c) 1988 University of Utah.
* Copyright (c) 1982, 1986, 1990, 1993
@@ -164,11 +164,13 @@ mmrw(dev, uio, flags)
pmap_enter(pmap_kernel(), (vm_offset_t)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(), (vm_offset_t)vmmap,
(vm_offset_t)vmmap + NBPG);
+ pmap_update(pmap_kernel());
continue;
/* minor device 1 is kernel memory */
diff --git a/sys/arch/i386/i386/pmap.c b/sys/arch/i386/i386/pmap.c
index 2572addfa68..6b2c2e37f3f 100644
--- a/sys/arch/i386/i386/pmap.c
+++ b/sys/arch/i386/i386/pmap.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pmap.c,v 1.51 2001/11/28 16:13:28 art Exp $ */
+/* $OpenBSD: pmap.c,v 1.52 2001/12/08 02:24:06 art Exp $ */
/* $NetBSD: pmap.c,v 1.91 2000/06/02 17:46:37 thorpej Exp $ */
/*
@@ -1156,6 +1156,7 @@ pmap_alloc_pvpage(pmap, mode)
*/
pmap_kenter_pa(pv_cachedva, VM_PAGE_TO_PHYS(pg), VM_PROT_ALL);
+ pmap_update(pmap_kernel());
pvpage = (struct pv_page *) pv_cachedva;
pv_cachedva = 0;
return(pmap_add_pvpage(pvpage, mode != ALLOCPV_NONEED));
@@ -2030,27 +2031,6 @@ pmap_virtual_space(startp, endp)
}
/*
- * pmap_map: map a range of PAs into kvm
- *
- * => used during crash dump
- * => XXX: pmap_map() should be phased out?
- */
-
-vaddr_t
-pmap_map(va, spa, epa, prot)
- vaddr_t va;
- paddr_t spa, epa;
- vm_prot_t prot;
-{
- while (spa < epa) {
- pmap_enter(pmap_kernel(), va, spa, prot, 0);
- va += NBPG;
- spa += NBPG;
- }
- return va;
-}
-
-/*
* pmap_zero_page: zero a page
*/
@@ -2940,6 +2920,7 @@ pmap_collect(pmap)
*/
pmap_remove(pmap, VM_MIN_ADDRESS, VM_MAX_ADDRESS);
+ pmap_update(pmap);
}
/*
diff --git a/sys/arch/i386/i386/vm_machdep.c b/sys/arch/i386/i386/vm_machdep.c
index 4696e6f3921..f963f1a2402 100644
--- a/sys/arch/i386/i386/vm_machdep.c
+++ b/sys/arch/i386/i386/vm_machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: vm_machdep.c,v 1.35 2001/12/07 17:30:14 art Exp $ */
+/* $OpenBSD: vm_machdep.c,v 1.36 2001/12/08 02:24:06 art Exp $ */
/* $NetBSD: vm_machdep.c,v 1.61 1996/05/03 19:42:35 christos Exp $ */
/*-
@@ -354,6 +354,7 @@ vmapbuf(bp, len)
taddr += PAGE_SIZE;
len -= PAGE_SIZE;
}
+ pmap_update(pmap_kernel());
}
/*
@@ -373,6 +374,7 @@ vunmapbuf(bp, len)
off = (vm_offset_t)bp->b_data - addr;
len = round_page(off + len);
pmap_kremove(addr, len);
+ pmap_update(pmap_kernel());
uvm_km_free_wakeup(phys_map, addr, len);
bp->b_data = bp->b_saveaddr;
bp->b_saveaddr = 0;
diff --git a/sys/arch/i386/include/cpu.h b/sys/arch/i386/include/cpu.h
index 60c38f6892d..0aac93264fb 100644
--- a/sys/arch/i386/include/cpu.h
+++ b/sys/arch/i386/include/cpu.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: cpu.h,v 1.39 2001/11/06 18:41:09 art Exp $ */
+/* $OpenBSD: cpu.h,v 1.40 2001/12/08 02:24:06 art Exp $ */
/* $NetBSD: cpu.h,v 1.35 1996/05/05 19:29:26 christos Exp $ */
/*-
@@ -220,7 +220,6 @@ int isa_nmi __P((void));
/* pmap.c */
void pmap_bootstrap __P((vm_offset_t));
-vm_offset_t pmap_map __P((vm_offset_t, vm_offset_t, vm_offset_t, int));
/* vm_machdep.c */
int kvtop __P((caddr_t));
diff --git a/sys/arch/i386/include/pmap.h b/sys/arch/i386/include/pmap.h
index ab91dd6240b..68a81230988 100644
--- a/sys/arch/i386/include/pmap.h
+++ b/sys/arch/i386/include/pmap.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: pmap.h,v 1.21 2001/12/04 23:22:42 art Exp $ */
+/* $OpenBSD: pmap.h,v 1.22 2001/12/08 02:24:06 art Exp $ */
/* $NetBSD: pmap.h,v 1.44 2000/04/24 17:18:18 thorpej Exp $ */
/*
@@ -502,8 +502,6 @@ pmap_protect(pmap, sva, eva, prot)
}
}
-vaddr_t pmap_map __P((vaddr_t, paddr_t, paddr_t, vm_prot_t));
-
#if defined(USER_LDT)
void pmap_ldt_cleanup __P((struct proc *));
#define PMAP_FORK
diff --git a/sys/arch/m68k/m68k/mappedcopy.c b/sys/arch/m68k/m68k/mappedcopy.c
index 47fb5ded5e9..6ff97081ae7 100644
--- a/sys/arch/m68k/m68k/mappedcopy.c
+++ b/sys/arch/m68k/m68k/mappedcopy.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: mappedcopy.c,v 1.8 2001/11/06 19:53:14 miod Exp $ */
+/* $OpenBSD: mappedcopy.c,v 1.9 2001/12/08 02:24:06 art Exp $ */
/* $NetBSD: mappedcopy.c,v 1.1 1997/02/02 06:54:10 thorpej Exp $ */
/*
@@ -112,6 +112,7 @@ mappedcopyin(fromp, top, count)
len = min(count, (PAGE_SIZE - off));
pmap_enter(pmap_kernel(), kva, upa, VM_PROT_READ,
VM_PROT_READ|PMAP_WIRED);
+ pmap_update(pmap_kernel());
if (len == PAGE_SIZE && alignable && off == 0)
copypage((caddr_t)kva, top);
else
@@ -122,6 +123,7 @@ mappedcopyin(fromp, top, count)
off = 0;
}
pmap_remove(pmap_kernel(), kva, kva + PAGE_SIZE);
+ pmap_update(pmap_kernel());
return (0);
}
@@ -164,6 +166,7 @@ mappedcopyout(fromp, top, count)
pmap_enter(pmap_kernel(), kva, upa,
VM_PROT_READ|VM_PROT_WRITE,
VM_PROT_READ|VM_PROT_WRITE|PMAP_WIRED);
+ pmap_update(pmap_kernel());
if (len == PAGE_SIZE && alignable && off == 0)
copypage(fromp, (caddr_t)kva);
else
@@ -174,5 +177,6 @@ mappedcopyout(fromp, top, count)
off = 0;
}
pmap_remove(pmap_kernel(), kva, kva + PAGE_SIZE);
+ pmap_update(pmap_kernel());
return (0);
}
diff --git a/sys/arch/m68k/m68k/pmap_motorola.c b/sys/arch/m68k/m68k/pmap_motorola.c
index d9587bb506f..1c12b1d9127 100644
--- a/sys/arch/m68k/m68k/pmap_motorola.c
+++ b/sys/arch/m68k/m68k/pmap_motorola.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pmap_motorola.c,v 1.4 2001/12/06 01:03:58 miod Exp $ */
+/* $OpenBSD: pmap_motorola.c,v 1.5 2001/12/08 02:24:06 art Exp $ */
/*
* Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -832,6 +832,7 @@ pmap_release(pmap)
if (pmap->pm_ptab) {
pmap_remove(pmap_kernel(), (vaddr_t)pmap->pm_ptab,
(vaddr_t)pmap->pm_ptab + MACHINE_MAX_PTSIZE);
+ pmap_update(pmap_kernel());
uvm_km_pgremove(uvm.kernel_object, (vaddr_t)pmap->pm_ptab,
(vaddr_t)pmap->pm_ptab + MACHINE_MAX_PTSIZE);
uvm_km_free_wakeup(pt_map, (vaddr_t)pmap->pm_ptab,
@@ -2406,6 +2407,7 @@ pmap_remove_mapping(pmap, va, pte, flags)
pmap_remove(pmap_kernel(),
(vaddr_t)ptpmap->pm_stab,
(vaddr_t)ptpmap->pm_stab + MACHINE_STSIZE);
+ pmap_update(pmap_kernel());
uvm_pagefree(PHYS_TO_VM_PAGE((paddr_t)
ptpmap->pm_stpa));
uvm_km_free_wakeup(st_map,
diff --git a/sys/arch/mac68k/dev/nubus.c b/sys/arch/mac68k/dev/nubus.c
index b6b48029a90..ee321500dd6 100644
--- a/sys/arch/mac68k/dev/nubus.c
+++ b/sys/arch/mac68k/dev/nubus.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: nubus.c,v 1.22 2001/11/06 19:53:14 miod Exp $ */
+/* $OpenBSD: nubus.c,v 1.23 2001/12/08 02:24:06 art Exp $ */
/* $NetBSD: nubus.c,v 1.35 1997/04/22 20:20:32 scottr Exp $ */
/*
@@ -832,6 +832,7 @@ nubus_mapin(paddr, sz)
pa += NBPG;
} while ((sz -= NBPG) > 0);
#endif
+ pmap_update(pmap_kernel());
return ((char*)retval);
}
diff --git a/sys/arch/mac68k/mac68k/bus_space.c b/sys/arch/mac68k/mac68k/bus_space.c
index 3b6756354c4..61acfdc96dc 100644
--- a/sys/arch/mac68k/mac68k/bus_space.c
+++ b/sys/arch/mac68k/mac68k/bus_space.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: bus_space.c,v 1.13 2001/11/28 15:34:16 art Exp $ */
+/* $OpenBSD: bus_space.c,v 1.14 2001/12/08 02:24:06 art Exp $ */
/* $NetBSD: bus_space.c,v 1.5 1999/03/26 23:41:30 mycroft Exp $ */
/*-
@@ -182,6 +182,7 @@ bus_mem_add_mapping(bpa, size, flags, bshp)
*pte |= PG_CI;
TBIA();
}
+ pmap_update(pmap_kernel());
return 0;
}
diff --git a/sys/arch/mac68k/mac68k/machdep.c b/sys/arch/mac68k/mac68k/machdep.c
index fcbd4a32b20..7e438fd4462 100644
--- a/sys/arch/mac68k/mac68k/machdep.c
+++ b/sys/arch/mac68k/mac68k/machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: machdep.c,v 1.90 2001/11/28 16:13:28 art Exp $ */
+/* $OpenBSD: machdep.c,v 1.91 2001/12/08 02:24:06 art Exp $ */
/* $NetBSD: machdep.c,v 1.207 1998/07/08 04:39:34 thorpej Exp $ */
/*
@@ -346,6 +346,7 @@ cpu_startup(void)
high[numranges - 1] + i * NBPG,
VM_PROT_READ|VM_PROT_WRITE,
VM_PROT_READ|VM_PROT_WRITE|PMAP_WIRED);
+ pmap_update(pmap_kernel());
initmsgbuf((caddr_t)msgbufp, round_page(MSGBUFSIZE));
/*
@@ -475,12 +476,12 @@ again:
if (pg == NULL)
panic("cpu_startup: not enough memory for "
"buffer cache");
- pmap_enter(kernel_map->pmap, curbuf,
- VM_PAGE_TO_PHYS(pg), VM_PROT_ALL,
- VM_PROT_ALL|PMAP_WIRED);
+ pmap_kenter_pa(curbuf, VM_PAGE_TO_PHYS(pg),
+ VM_PROT_READ|VM_PROT_WRITE);
curbuf += PAGE_SIZE;
curbufsize -= PAGE_SIZE;
}
+ pmap_update(pmap_kernel());
}
/*
* Allocate a submap for exec arguments. This map effectively
@@ -705,7 +706,7 @@ haltsys:
/* Map the last physical page VA = PA for doboot() */
pmap_enter(pmap_kernel(), (vm_offset_t)maxaddr, (vm_offset_t)maxaddr,
VM_PROT_ALL, VM_PROT_ALL|PMAP_WIRED);
-
+ pmap_update(pmap_kernel());
printf("rebooting...\n");
DELAY(1000000);
@@ -897,6 +898,7 @@ dumpsys()
}
pmap_enter(pmap_kernel(), (vm_offset_t)vmmap, maddr,
VM_PROT_READ, VM_PROT_READ|PMAP_WIRED);
+ pmap_update(pmap_kernel());
error = (*dump)(dumpdev, blkno, vmmap, NBPG);
bad:
diff --git a/sys/arch/mac68k/mac68k/mem.c b/sys/arch/mac68k/mac68k/mem.c
index d6c350ad79a..641b396d880 100644
--- a/sys/arch/mac68k/mac68k/mem.c
+++ b/sys/arch/mac68k/mac68k/mem.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: mem.c,v 1.16 2001/11/06 19:53:15 miod Exp $ */
+/* $OpenBSD: mem.c,v 1.17 2001/12/08 02:24:06 art Exp $ */
/* $NetBSD: mem.c,v 1.22 1999/03/27 00:30:07 mycroft Exp $ */
/*
@@ -147,11 +147,13 @@ mmrw(dev, uio, flags)
VM_PROT_WRITE;
pmap_enter(pmap_kernel(), (vaddr_t)vmmap,
trunc_page(v), prot, prot|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(), (vaddr_t)vmmap,
(vaddr_t)vmmap + NBPG);
+ pmap_update(pmap_kernel());
continue;
/* minor device 1 is kernel memory */
diff --git a/sys/arch/mac68k/mac68k/trap.c b/sys/arch/mac68k/mac68k/trap.c
index 521aee4568f..c43bbe6991f 100644
--- a/sys/arch/mac68k/mac68k/trap.c
+++ b/sys/arch/mac68k/mac68k/trap.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: trap.c,v 1.33 2001/11/28 16:13:28 art Exp $ */
+/* $OpenBSD: trap.c,v 1.34 2001/12/08 02:24:06 art Exp $ */
/* $NetBSD: trap.c,v 1.68 1998/12/22 08:47:07 scottr Exp $ */
/*
@@ -735,12 +735,14 @@ writeback(fp, docachepush)
pmap_enter(pmap_kernel(), (vaddr_t)vmmap,
trunc_page((vaddr_t)f->f_fa), VM_PROT_WRITE,
VM_PROT_WRITE|PMAP_WIRED);
+ pmap_update(pmap_kernel());
fa = (u_int)&vmmap[(f->f_fa & PGOFSET) & ~0xF];
bcopy((caddr_t)&f->f_pd0, (caddr_t)fa, 16);
pmap_extract(pmap_kernel(), (vaddr_t)fa, &pa);
DCFL(pa);
pmap_remove(pmap_kernel(), (vaddr_t)vmmap,
(vaddr_t)&vmmap[NBPG]);
+ pmap_update(pmap_kernel());
} else
printf("WARNING: pid %d(%s) uid %d: CPUSH not done\n",
p->p_pid, p->p_comm, p->p_ucred->cr_uid);
diff --git a/sys/arch/mac68k/mac68k/vm_machdep.c b/sys/arch/mac68k/mac68k/vm_machdep.c
index 62b397d6d2c..eddc3f3a209 100644
--- a/sys/arch/mac68k/mac68k/vm_machdep.c
+++ b/sys/arch/mac68k/mac68k/vm_machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: vm_machdep.c,v 1.27 2001/12/07 00:59:16 miod Exp $ */
+/* $OpenBSD: vm_machdep.c,v 1.28 2001/12/08 02:24:06 art Exp $ */
/* $NetBSD: vm_machdep.c,v 1.29 1998/07/28 18:34:55 thorpej Exp $ */
/*
@@ -237,15 +237,13 @@ pagemove(from, to, size)
panic("pagemove 3");
#endif
#endif
- pmap_remove(pmap_kernel(),
- (vm_offset_t)from, (vm_offset_t)from + PAGE_SIZE);
- pmap_enter(pmap_kernel(),
- (vm_offset_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;
}
+ pmap_update(pmap_kernel());
}
/*
@@ -337,6 +335,7 @@ vmapbuf(bp, len)
kva += PAGE_SIZE;
len -= PAGE_SIZE;
} while (len);
+ pmap_update(pmap_kernel());
}
/*
diff --git a/sys/arch/macppc/macppc/dma.c b/sys/arch/macppc/macppc/dma.c
index b92c6c7e404..05692de52e6 100644
--- a/sys/arch/macppc/macppc/dma.c
+++ b/sys/arch/macppc/macppc/dma.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: dma.c,v 1.7 2001/11/28 16:24:26 art Exp $ */
+/* $OpenBSD: dma.c,v 1.8 2001/12/08 02:24:06 art Exp $ */
/* $NetBSD: machdep.c,v 1.214 1996/11/10 03:16:17 thorpej Exp $ */
/*-
@@ -405,6 +405,7 @@ _dmamem_map(t, segs, nsegs, size, kvap, flags)
VM_PROT_READ | VM_PROT_WRITE | PMAP_WIRED);
}
}
+ pmap_update(pmap_kernel());
return (0);
}
diff --git a/sys/arch/macppc/macppc/machdep.c b/sys/arch/macppc/macppc/machdep.c
index e4f8fecdc67..dfc242a6df7 100644
--- a/sys/arch/macppc/macppc/machdep.c
+++ b/sys/arch/macppc/macppc/machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: machdep.c,v 1.17 2001/11/28 16:13:28 art Exp $ */
+/* $OpenBSD: machdep.c,v 1.18 2001/12/08 02:24:06 art Exp $ */
/* $NetBSD: machdep.c,v 1.4 1996/10/16 19:33:11 ws Exp $ */
/*
@@ -583,6 +583,7 @@ cpu_startup()
curbufsize -= PAGE_SIZE;
}
}
+ pmap_update(pmap_kernel());
/*
* Allocate a submap for exec arguments. This map effectively
@@ -1174,6 +1175,7 @@ bus_space_unmap(t, bsh, size)
}
#endif
pmap_remove(vm_map_pmap(phys_map), sva, sva+len);
+ pmap_update(pmap_kernel());
}
int
@@ -1300,7 +1302,7 @@ unmapiodev(kva, p_size)
#endif
vaddr += PAGE_SIZE;
}
- return;
+ pmap_update(pmap_kernel());
}
diff --git a/sys/arch/macppc/macppc/ofw_machdep.c b/sys/arch/macppc/macppc/ofw_machdep.c
index 1cdc61e33fd..73ab9c29def 100644
--- a/sys/arch/macppc/macppc/ofw_machdep.c
+++ b/sys/arch/macppc/macppc/ofw_machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ofw_machdep.c,v 1.4 2001/11/06 19:53:15 miod Exp $ */
+/* $OpenBSD: ofw_machdep.c,v 1.5 2001/12/08 02:24:06 art Exp $ */
/* $NetBSD: ofw_machdep.c,v 1.1 1996/09/30 16:34:50 ws Exp $ */
/*
@@ -197,6 +197,7 @@ restore_ofw_mapping()
size -= NBPG;
}
}
+ pmap_update(pmap_kernel());
return 0;
}
diff --git a/sys/arch/mvme68k/mvme68k/machdep.c b/sys/arch/mvme68k/mvme68k/machdep.c
index fc1877788d8..e4d05ca2c5e 100644
--- a/sys/arch/mvme68k/mvme68k/machdep.c
+++ b/sys/arch/mvme68k/mvme68k/machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: machdep.c,v 1.60 2001/11/30 02:12:09 art Exp $ */
+/* $OpenBSD: machdep.c,v 1.61 2001/12/08 02:24:06 art Exp $ */
/*
* Copyright (c) 1995 Theo de Raadt
@@ -259,6 +259,7 @@ cpu_startup()
for (i = 0; i < btoc(MSGBUFSIZE); i++)
pmap_kenter_pa((vm_offset_t)msgbufp,
avail_end + i * NBPG, VM_PROT_READ|VM_PROT_WRITE);
+ pmap_update(pmap_kernel());
initmsgbuf((caddr_t)msgbufp, round_page(MSGBUFSIZE));
/*
@@ -380,6 +381,7 @@ again:
curbufsize -= PAGE_SIZE;
}
}
+ pmap_update(pmap_kernel());
/*
* Allocate a submap for exec arguments. This map effectively
@@ -856,8 +858,11 @@ dumpsys()
printf("%d ", pg / NPGMB);
#undef NPGMB
pmap_kenter_pa((vaddr_t)vmmap, maddr, VM_PROT_READ);
-
+ pmap_update(pmap_kernel());
error = (*dump)(dumpdev, blkno, vmmap, PAGE_SIZE);
+ pmap_kremove((vaddr_t)vmmap, PAGE_SIZE);
+ pmap_update(pmap_kernel());
+
if (error == 0) {
maddr += PAGE_SIZE;
blkno += btodb(PAGE_SIZE);
diff --git a/sys/arch/mvme68k/mvme68k/mem.c b/sys/arch/mvme68k/mvme68k/mem.c
index 443b8a1f9a8..b828e285990 100644
--- a/sys/arch/mvme68k/mvme68k/mem.c
+++ b/sys/arch/mvme68k/mvme68k/mem.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: mem.c,v 1.17 2001/11/06 19:53:15 miod Exp $ */
+/* $OpenBSD: mem.c,v 1.18 2001/12/08 02:24:06 art Exp $ */
/*
* Copyright (c) 1995 Theo de Raadt
@@ -165,12 +165,13 @@ mmrw(dev, uio, flags)
trunc_page(v),
uio->uio_rw == UIO_READ ? VM_PROT_READ : VM_PROT_WRITE,
(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(), (vm_offset_t)vmmap,
(vm_offset_t)vmmap + NBPG);
+ pmap_update(pmap_kernel());
continue;
/* minor device 1 is kernel memory */
diff --git a/sys/arch/mvme68k/mvme68k/trap.c b/sys/arch/mvme68k/mvme68k/trap.c
index 5e8424b24ab..8914bc10e54 100644
--- a/sys/arch/mvme68k/mvme68k/trap.c
+++ b/sys/arch/mvme68k/mvme68k/trap.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: trap.c,v 1.40 2001/11/28 16:13:28 art Exp $ */
+/* $OpenBSD: trap.c,v 1.41 2001/12/08 02:24:06 art Exp $ */
/*
* Copyright (c) 1995 Theo de Raadt
@@ -713,12 +713,14 @@ writeback(fp, docachepush)
pmap_enter(pmap_kernel(), (vm_offset_t)vmmap,
trunc_page(f->f_fa), VM_PROT_WRITE, VM_PROT_WRITE|PMAP_WIRED);
+ pmap_update(pmap_kernel());
fa = (u_int)&vmmap[(f->f_fa & PGOFSET) & ~0xF];
bcopy((caddr_t)&f->f_pd0, (caddr_t)fa, 16);
pmap_extract(pmap_kernel(), (vm_offset_t)fa, &pa);
DCFL(pa);
pmap_remove(pmap_kernel(), (vm_offset_t)vmmap,
(vm_offset_t)&vmmap[NBPG]);
+ pmap_update(pmap_kernel());
} else
printf("WARNING: pid %d(%s) uid %d: CPUSH not done\n",
p->p_pid, p->p_comm, p->p_ucred->cr_uid);
diff --git a/sys/arch/mvme68k/mvme68k/vm_machdep.c b/sys/arch/mvme68k/mvme68k/vm_machdep.c
index 220dc50485f..eac4c6d4a47 100644
--- a/sys/arch/mvme68k/mvme68k/vm_machdep.c
+++ b/sys/arch/mvme68k/mvme68k/vm_machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: vm_machdep.c,v 1.32 2001/11/06 19:53:15 miod Exp $ */
+/* $OpenBSD: vm_machdep.c,v 1.33 2001/12/08 02:24:06 art Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@@ -178,6 +178,7 @@ pagemove(from, to, size)
to += PAGE_SIZE;
size -= PAGE_SIZE;
}
+ pmap_update(pmap_kernel());
}
/*
@@ -270,6 +271,7 @@ vmapbuf(bp, siz)
addr += PAGE_SIZE;
kva += PAGE_SIZE;
}
+ pmap_update(pmap_kernel());
}
/*
diff --git a/sys/arch/mvme88k/mvme88k/machdep.c b/sys/arch/mvme88k/mvme88k/machdep.c
index ddaafb93240..f0fed8abeda 100644
--- a/sys/arch/mvme88k/mvme88k/machdep.c
+++ b/sys/arch/mvme88k/mvme88k/machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: machdep.c,v 1.69 2001/11/30 23:16:51 miod Exp $ */
+/* $OpenBSD: machdep.c,v 1.70 2001/12/08 02:24:06 art Exp $ */
/*
* Copyright (c) 1998, 1999, 2000, 2001 Steve Murphree, Jr.
* Copyright (c) 1996 Nivas Madhur
@@ -479,6 +479,7 @@ cpu_startup()
for (i = 0; i < btoc(MSGBUFSIZE); i++)
pmap_kenter_pa((vm_offset_t)msgbufp,
avail_end + i * NBPG, VM_PROT_READ|VM_PROT_WRITE);
+ pmap_update(pmap_kernel());
initmsgbuf((caddr_t)msgbufp, round_page(MSGBUFSIZE));
/*
@@ -633,6 +634,7 @@ cpu_startup()
curbufsize -= PAGE_SIZE;
}
}
+ pmap_update(pmap_kernel());
/*
* Allocate a submap for exec arguments. This map effectively
diff --git a/sys/arch/mvme88k/mvme88k/mem.c b/sys/arch/mvme88k/mvme88k/mem.c
index 7ca64cfc69d..edbac9bb2e1 100644
--- a/sys/arch/mvme88k/mvme88k/mem.c
+++ b/sys/arch/mvme88k/mvme88k/mem.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: mem.c,v 1.13 2001/11/06 19:53:15 miod Exp $ */
+/* $OpenBSD: mem.c,v 1.14 2001/12/08 02:24:06 art Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@@ -138,11 +138,13 @@ mmrw(dev, uio, flags)
pmap_enter(pmap_kernel(), (vm_offset_t)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(), (vm_offset_t)vmmap,
(vm_offset_t)vmmap + NBPG);
+ pmap_update(pmap_kernel());
continue;
/* minor device 1 is kernel memory */
diff --git a/sys/arch/mvme88k/mvme88k/vm_machdep.c b/sys/arch/mvme88k/mvme88k/vm_machdep.c
index 8cff090213c..682d657c21a 100644
--- a/sys/arch/mvme88k/mvme88k/vm_machdep.c
+++ b/sys/arch/mvme88k/mvme88k/vm_machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: vm_machdep.c,v 1.40 2001/11/28 16:13:29 art Exp $ */
+/* $OpenBSD: vm_machdep.c,v 1.41 2001/12/08 02:24:06 art Exp $ */
/*
* Copyright (c) 1998 Steve Murphree, Jr.
@@ -264,6 +264,7 @@ vmapbuf(bp, len)
kva += PAGE_SIZE;
len -= PAGE_SIZE;
}
+ pmap_update(pmap_kernel());
}
/*
@@ -338,6 +339,7 @@ iomap_mapin(vm_offset_t pa, vm_size_t len, boolean_t canwait)
tva += PAGE_SIZE;
ppa += PAGE_SIZE;
}
+ pmap_update(pmap_kernel());
#ifndef NEW_MAPPING
return (iova + off);
#else
@@ -360,6 +362,7 @@ iomap_mapout(vm_offset_t kva, vm_size_t len)
len = round_page(off + len);
pmap_remove(vm_map_pmap(iomap_map), kva, kva + len);
+ pmap_update(vm_map_pmap(iomap_map));
s = splhigh();
error = extent_free(iomap_extent, kva, len, EX_NOWAIT);
@@ -409,6 +412,7 @@ mapiospace(caddr_t pa, int len)
pmap_kenter_pa(phys_map_vaddr1, (vm_offset_t)pa,
VM_PROT_READ|VM_PROT_WRITE);
+ pmap_update(pmap_kernel());
return (phys_map_vaddr1 + off);
}
@@ -423,6 +427,7 @@ unmapiospace(vm_offset_t va)
va = trunc_page(va);
pmap_kremove(va, PAGE_SIZE);
+ pmap_update(pmap_kernel());
}
int
@@ -496,6 +501,7 @@ pagemove(from, to, size)
to += PAGE_SIZE;
size -= PAGE_SIZE;
}
+ pmap_update(pmap_kernel());
}
u_int
diff --git a/sys/arch/mvmeppc/mvmeppc/bus_dma.c b/sys/arch/mvmeppc/mvmeppc/bus_dma.c
index c108948d1ea..752dac67532 100644
--- a/sys/arch/mvmeppc/mvmeppc/bus_dma.c
+++ b/sys/arch/mvmeppc/mvmeppc/bus_dma.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: bus_dma.c,v 1.8 2001/11/09 15:14:13 art Exp $ */
+/* $OpenBSD: bus_dma.c,v 1.9 2001/12/08 02:24:06 art Exp $ */
/* $NetBSD: bus_dma.c,v 1.2 2001/06/10 02:31:25 briggs Exp $ */
/*-
@@ -521,6 +521,7 @@ _bus_dmamem_map(t, segs, nsegs, size, kvap, flags)
VM_PROT_READ | VM_PROT_WRITE | PMAP_WIRED);
}
}
+ pmap_update(pmap_kernel());
return (0);
}
diff --git a/sys/arch/mvmeppc/mvmeppc/machdep.c b/sys/arch/mvmeppc/mvmeppc/machdep.c
index 98d4ddc2623..ddb5814fca2 100644
--- a/sys/arch/mvmeppc/mvmeppc/machdep.c
+++ b/sys/arch/mvmeppc/mvmeppc/machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: machdep.c,v 1.16 2001/11/28 16:13:29 art Exp $ */
+/* $OpenBSD: machdep.c,v 1.17 2001/12/08 02:24:06 art Exp $ */
/* $NetBSD: machdep.c,v 1.4 1996/10/16 19:33:11 ws Exp $ */
/*
@@ -1155,6 +1155,7 @@ bus_space_unmap(t, bsh, size)
}
#endif
pmap_remove(vm_map_pmap(phys_map), sva, sva+len);
+ pmap_update(vm_map_pmap(phys_map));
}
int
@@ -1260,7 +1261,7 @@ unmapiodev(kva, p_size)
#endif
vaddr += NBPG;
}
- return;
+ pmap_update(pmap_kernel());
}
#if 0
diff --git a/sys/arch/powerpc/powerpc/vm_machdep.c b/sys/arch/powerpc/powerpc/vm_machdep.c
index e86c63b6971..c377c226837 100644
--- a/sys/arch/powerpc/powerpc/vm_machdep.c
+++ b/sys/arch/powerpc/powerpc/vm_machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: vm_machdep.c,v 1.27 2001/11/13 14:31:52 drahn Exp $ */
+/* $OpenBSD: vm_machdep.c,v 1.28 2001/12/08 02:24:07 art Exp $ */
/* $NetBSD: vm_machdep.c,v 1.1 1996/09/30 16:34:57 ws Exp $ */
/*
@@ -156,6 +156,7 @@ pagemove(from, to, size)
va += NBPG;
to += NBPG;
}
+ pmap_update(pmap_kernel());
}
/*
@@ -243,6 +244,7 @@ vmapbuf(bp, len)
faddr += NBPG;
taddr += NBPG;
}
+ pmap_update(pmap_kernel());
}
/*
diff --git a/sys/arch/sparc/dev/fga.c b/sys/arch/sparc/dev/fga.c
index b9342d76021..2234c63b868 100644
--- a/sys/arch/sparc/dev/fga.c
+++ b/sys/arch/sparc/dev/fga.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: fga.c,v 1.5 2001/11/06 19:53:16 miod Exp $ */
+/* $OpenBSD: fga.c,v 1.6 2001/12/08 02:24:07 art Exp $ */
/*
* Copyright (c) 1999 Jason L. Wright (jason@thought.net)
@@ -781,9 +781,11 @@ fvmescan(parent, child, aux)
if ((*cf->cf_attach->ca_match)(parent, cf, &oca) == 0) {
pmap_remove(pmap_kernel(), TMPMAP_VA, TMPMAP_VA + NBPG);
+ pmap_update(pmap_kernel());
return (0);
}
pmap_remove(pmap_kernel(), TMPMAP_VA, TMPMAP_VA + NBPG);
+ pmap_update(pmap_kernel());
oca.ca_ra.ra_reg[0].rr_paddr = (void *)paddr;
config_attach(parent, cf, &oca, fvmeprint);
diff --git a/sys/arch/sparc/dev/if_ie.c b/sys/arch/sparc/dev/if_ie.c
index 781ce58e5a7..0374cd3bbb2 100644
--- a/sys/arch/sparc/dev/if_ie.c
+++ b/sys/arch/sparc/dev/if_ie.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_ie.c,v 1.21 2001/11/29 11:29:58 art Exp $ */
+/* $OpenBSD: if_ie.c,v 1.22 2001/12/08 02:24:07 art Exp $ */
/* $NetBSD: if_ie.c,v 1.33 1997/07/29 17:55:38 fair Exp $ */
/*-
@@ -565,6 +565,7 @@ ieattach(parent, self, aux)
pmap_enter(pmap_kernel(), trunc_page(IEOB_ADBASE+IE_SCP_ADDR),
(paddr_t)pa | PMAP_NC /*| PMAP_IOC*/,
VM_PROT_READ | VM_PROT_WRITE, PMAP_WIRED);
+ pmap_update(pmap_kernel());
sc->scp = (volatile struct ie_sys_conf_ptr *)
(IEOB_ADBASE + IE_SCP_ADDR);
diff --git a/sys/arch/sparc/dev/obio.c b/sys/arch/sparc/dev/obio.c
index ee804c06d78..5b0b22b5687 100644
--- a/sys/arch/sparc/dev/obio.c
+++ b/sys/arch/sparc/dev/obio.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: obio.c,v 1.9 2001/11/06 19:53:16 miod Exp $ */
+/* $OpenBSD: obio.c,v 1.10 2001/12/08 02:24:07 art Exp $ */
/* $NetBSD: obio.c,v 1.37 1997/07/29 09:58:11 fair Exp $ */
/*
@@ -663,4 +663,5 @@ void
bus_untmp()
{
pmap_remove(pmap_kernel(), TMPMAP_VA, TMPMAP_VA+NBPG);
+ pmap_update(pmap_kernel());
}
diff --git a/sys/arch/sparc/sparc/autoconf.c b/sys/arch/sparc/sparc/autoconf.c
index d1b05dd2f1e..a9df174168a 100644
--- a/sys/arch/sparc/sparc/autoconf.c
+++ b/sys/arch/sparc/sparc/autoconf.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: autoconf.c,v 1.44 2001/12/05 23:58:41 tdeval Exp $ */
+/* $OpenBSD: autoconf.c,v 1.45 2001/12/08 02:24:07 art Exp $ */
/* $NetBSD: autoconf.c,v 1.73 1997/07/29 09:41:53 fair Exp $ */
/*
@@ -353,6 +353,7 @@ bootstrap()
pmap_kenter_pa(INTRREG_VA,
INT_ENABLE_REG_PHYSADR | PMAP_NC | PMAP_OBIO,
VM_PROT_READ | VM_PROT_WRITE);
+ pmap_update(pmap_kernel());
/* Disable all interrupts */
*((unsigned char *)INTRREG_VA) = 0;
}
diff --git a/sys/arch/sparc/sparc/iommu.c b/sys/arch/sparc/sparc/iommu.c
index 39589a0f107..d5d6e56df4e 100644
--- a/sys/arch/sparc/sparc/iommu.c
+++ b/sys/arch/sparc/sparc/iommu.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: iommu.c,v 1.12 2001/11/22 09:47:37 art Exp $ */
+/* $OpenBSD: iommu.c,v 1.13 2001/12/08 02:24:07 art Exp $ */
/* $NetBSD: iommu.c,v 1.13 1997/07/29 09:42:04 fair Exp $ */
/*
@@ -199,6 +199,7 @@ iommu_attach(parent, self, aux)
va += PAGE_SIZE;
m = TAILQ_NEXT(m, pageq);
}
+ pmap_update(pmap_kernel());
/*
* Now we build our own copy of the IOMMU page tables. We need to
diff --git a/sys/arch/sparc/sparc/machdep.c b/sys/arch/sparc/sparc/machdep.c
index e6259a6632a..f240f3218cb 100644
--- a/sys/arch/sparc/sparc/machdep.c
+++ b/sys/arch/sparc/sparc/machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: machdep.c,v 1.73 2001/11/28 16:13:29 art Exp $ */
+/* $OpenBSD: machdep.c,v 1.74 2001/12/08 02:24:07 art Exp $ */
/* $NetBSD: machdep.c,v 1.85 1997/09/12 08:55:02 pk Exp $ */
/*
@@ -245,6 +245,7 @@ cpu_startup()
curbufsize -= PAGE_SIZE;
}
}
+ pmap_update(pmap_kernel());
/*
* Allocate a submap for exec arguments. This map effectively
* limits the number of processes exec'ing at any time.
@@ -868,9 +869,11 @@ dumpsys()
(void) pmap_map(dumpspace, maddr, maddr + n,
VM_PROT_READ);
+ pmap_update(pmap_kernel());
error = (*dump)(dumpdev, blkno,
(caddr_t)dumpspace, (int)n);
pmap_remove(pmap_kernel(), dumpspace, dumpspace + n);
+ pmap_update(pmap_kernel());
if (error)
break;
maddr += n;
@@ -975,6 +978,7 @@ mapdev(phys, virt, offset, size)
va += PAGE_SIZE;
pa += PAGE_SIZE;
} while ((size -= PAGE_SIZE) > 0);
+ pmap_update(pmap_kernel());
return (ret);
}
diff --git a/sys/arch/sparc/sparc/mem.c b/sys/arch/sparc/sparc/mem.c
index 960cae0d1da..3dc66f0f3b2 100644
--- a/sys/arch/sparc/sparc/mem.c
+++ b/sys/arch/sparc/sparc/mem.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: mem.c,v 1.19 2001/11/06 19:53:16 miod Exp $ */
+/* $OpenBSD: mem.c,v 1.20 2001/12/08 02:24:07 art Exp $ */
/* $NetBSD: mem.c,v 1.13 1996/03/30 21:12:16 christos Exp $ */
/*
@@ -146,10 +146,12 @@ mmrw(dev, uio, flags)
pmap_enter(pmap_kernel(), mem_page,
trunc_page(pa), 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)mem_page + o, c, uio);
pmap_remove(pmap_kernel(), mem_page, mem_page + NBPG);
+ pmap_update(pmap_kernel());
continue;
/* minor device 1 is kernel memory */
diff --git a/sys/arch/sparc/sparc/pmap.c b/sys/arch/sparc/sparc/pmap.c
index dd59890a3d2..e322e8d2236 100644
--- a/sys/arch/sparc/sparc/pmap.c
+++ b/sys/arch/sparc/sparc/pmap.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pmap.c,v 1.109 2001/12/07 18:06:49 mickey Exp $ */
+/* $OpenBSD: pmap.c,v 1.110 2001/12/08 02:24:07 art Exp $ */
/* $NetBSD: pmap.c,v 1.118 1998/05/19 19:00:18 thorpej Exp $ */
/*
@@ -245,6 +245,7 @@ pgt_page_alloc(sz, flags, mtype)
pmap_kenter_pa(va, pa | (nocache ? PMAP_NC : 0),
VM_PROT_READ|VM_PROT_WRITE);
+ pmap_update(pmap_kernel());
return ((void *)va);
}
@@ -3342,6 +3343,7 @@ pmap_map(va, pa, endpa, prot)
va += pgsize;
pa += pgsize;
}
+ pmap_update(pmap_kernel());
return (va);
}
diff --git a/sys/arch/sparc/sparc/vm_machdep.c b/sys/arch/sparc/sparc/vm_machdep.c
index c87d29e6995..215a1c5f181 100644
--- a/sys/arch/sparc/sparc/vm_machdep.c
+++ b/sys/arch/sparc/sparc/vm_machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: vm_machdep.c,v 1.38 2001/12/07 10:47:38 art Exp $ */
+/* $OpenBSD: vm_machdep.c,v 1.39 2001/12/08 02:24:07 art Exp $ */
/* $NetBSD: vm_machdep.c,v 1.30 1997/03/10 23:55:40 pk Exp $ */
/*
@@ -95,6 +95,7 @@ pagemove(from, to, size)
to += PAGE_SIZE;
size -= PAGE_SIZE;
}
+ pmap_update(pmap_kernel());
}
/*
@@ -150,6 +151,7 @@ again:
pa |= PMAP_NC;
pmap_kenter_pa(kva + maplen, pa, VM_PROT_ALL);
}
+ pmap_update(pmap_kernel());
*(vaddr_t *)kaddr = kva;
dva = dvma_mapin_space(kernel_map, kva, len, waitok ? 1 : 0, space);
@@ -167,6 +169,7 @@ dropit:
pmap_kremove(kva + tmplen, PAGE_SIZE);
uvm_pagefree(PHYS_TO_VM_PAGE(pa));
}
+ pmap_update(pmap_kernel());
uvm_km_free(kmem_map, kva, len);
@@ -269,6 +272,7 @@ dvma_mapin_space(map, va, len, canwait, space)
tva += PAGE_SIZE;
va += PAGE_SIZE;
}
+ pmap_update(pmap_kernel());
/*
* XXX Only have to do this on write.
@@ -300,7 +304,10 @@ dvma_mapout(kva, va, len)
iommu_remove(kva, klen);
else
#endif
+ {
pmap_remove(pmap_kernel(), kva, kva + klen);
+ pmap_update(pmap_kernel());
+ }
s = splhigh();
error = extent_free(dvmamap_extent, kva, klen, EX_NOWAIT);
@@ -371,6 +378,7 @@ vmapbuf(bp, sz)
kva += PAGE_SIZE;
size -= PAGE_SIZE;
}
+ pmap_update(pmap_kernel());
}
/*
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
diff --git a/sys/arch/vax/vax/bus_dma.c b/sys/arch/vax/vax/bus_dma.c
index b5c644a7116..d067b6d14fd 100644
--- a/sys/arch/vax/vax/bus_dma.c
+++ b/sys/arch/vax/vax/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:07 art Exp $ */
/* $NetBSD: bus_dma.c,v 1.5 1999/11/13 00:32:20 thorpej Exp $ */
/*-
@@ -475,6 +475,7 @@ _bus_dmamem_map(t, segs, nsegs, size, kvap, flags)
VM_PROT_READ | VM_PROT_WRITE | PMAP_WIRED);
}
}
+ pmap_update(pmap_kernel());
return (0);
}
diff --git a/sys/arch/vax/vax/machdep.c b/sys/arch/vax/vax/machdep.c
index 71ab2b0f336..84b50995374 100644
--- a/sys/arch/vax/vax/machdep.c
+++ b/sys/arch/vax/vax/machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: machdep.c,v 1.47 2001/11/28 16:13:29 art Exp $ */
+/* $OpenBSD: machdep.c,v 1.48 2001/12/08 02:24:07 art Exp $ */
/* $NetBSD: machdep.c,v 1.108 2000/09/13 15:00:23 thorpej Exp $ */
/*
@@ -250,6 +250,7 @@ cpu_startup()
curbufsize -= PAGE_SIZE;
}
}
+ pmap_update(kernel_map->pmap);
/*
* Allocate a submap for exec arguments. This map effectively limits
diff --git a/sys/arch/vax/vax/pmap.c b/sys/arch/vax/vax/pmap.c
index c71c0c6ec03..09602b5ff57 100644
--- a/sys/arch/vax/vax/pmap.c
+++ b/sys/arch/vax/vax/pmap.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pmap.c,v 1.27 2001/11/28 14:20:16 art Exp $ */
+/* $OpenBSD: pmap.c,v 1.28 2001/12/08 02:24:07 art Exp $ */
/* $NetBSD: pmap.c,v 1.74 1999/11/13 21:32:25 matt Exp $ */
/*
* Copyright (c) 1994, 1998, 1999 Ludd, University of Lule}, Sweden.
@@ -706,6 +706,7 @@ if (startpmapdebug)
bzero((caddr_t)(phys|KERNBASE), NBPG);
pmap_kenter_pa(ptaddr, phys,
VM_PROT_READ|VM_PROT_WRITE);
+ pmap_update(pmap_kernel());
}
}
if (flags & PMAP_WIRED)
diff --git a/sys/arch/vax/vax/vm_machdep.c b/sys/arch/vax/vax/vm_machdep.c
index 2e016044908..e5b51c57db8 100644
--- a/sys/arch/vax/vax/vm_machdep.c
+++ b/sys/arch/vax/vax/vm_machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: vm_machdep.c,v 1.28 2001/11/17 05:07:55 hugh Exp $ */
+/* $OpenBSD: vm_machdep.c,v 1.29 2001/12/08 02:24:07 art Exp $ */
/* $NetBSD: vm_machdep.c,v 1.67 2000/06/29 07:14:34 mrg Exp $ */
/*
@@ -335,6 +335,7 @@ vmapbuf(bp, len)
faddr += PAGE_SIZE;
taddr += PAGE_SIZE;
}
+ pmap_update(vm_map_pmap(phys_map));
#endif
}
diff --git a/sys/ddb/db_watch.c b/sys/ddb/db_watch.c
index c350d245fa8..aae83661fac 100644
--- a/sys/ddb/db_watch.c
+++ b/sys/ddb/db_watch.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: db_watch.c,v 1.6 2001/11/28 16:13:29 art Exp $ */
+/* $OpenBSD: db_watch.c,v 1.7 2001/12/08 02:24:07 art Exp $ */
/* $NetBSD: db_watch.c,v 1.9 1996/03/30 22:30:12 christos Exp $ */
/*
@@ -227,7 +227,7 @@ db_set_watchpoints()
trunc_page(watch->loaddr),
round_page(watch->hiaddr),
VM_PROT_READ);
-
+ pmap_update(watch->map->pmap);
db_watchpoints_inserted = TRUE;
}
}
diff --git a/sys/dev/ic/sti.c b/sys/dev/ic/sti.c
index b61698dd089..45a9925ade4 100644
--- a/sys/dev/ic/sti.c
+++ b/sys/dev/ic/sti.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sti.c,v 1.8 2001/12/02 04:29:11 mickey Exp $ */
+/* $OpenBSD: sti.c,v 1.9 2001/12/08 02:24:07 art Exp $ */
/*
* Copyright (c) 2000-2001 Michael Shalayeff
@@ -253,6 +253,7 @@ sti_attach_common(sc)
pmap_protect(pmap_kernel(), sc->sc_code,
sc->sc_code + round_page(size), VM_PROT_READ|VM_PROT_EXECUTE);
+ pmap_update(pmap_kernel());
cc = &sc->sc_cfg;
bzero(cc, sizeof (*cc));
diff --git a/sys/dev/isa/aha.c b/sys/dev/isa/aha.c
index 7e4f74910ed..d7fbda87ccb 100644
--- a/sys/dev/isa/aha.c
+++ b/sys/dev/isa/aha.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: aha.c,v 1.40 2001/11/30 17:24:19 art Exp $ */
+/* $OpenBSD: aha.c,v 1.41 2001/12/08 02:24:07 art Exp $ */
/* $NetBSD: aha.c,v 1.11 1996/05/12 23:51:23 mycroft Exp $ */
#undef AHADIAG
@@ -1105,6 +1105,7 @@ aha_init(sc)
VM_PROT_READ|VM_PROT_WRITE);
va += PAGE_SIZE;
}
+ pmap_update(pmap_kernel());
/*
* XXXEND
*/
diff --git a/sys/dev/tc/if_le_ioasic.c b/sys/dev/tc/if_le_ioasic.c
index 585b19a8302..ba976fce31b 100644
--- a/sys/dev/tc/if_le_ioasic.c
+++ b/sys/dev/tc/if_le_ioasic.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_le_ioasic.c,v 1.8 2001/11/30 17:24:19 art Exp $ */
+/* $OpenBSD: if_le_ioasic.c,v 1.9 2001/12/08 02:24:07 art Exp $ */
/* $NetBSD: if_le_ioasic.c,v 1.2 1996/05/07 02:24:56 thorpej Exp $ */
/*
@@ -121,6 +121,7 @@ le_ioasic_attach(parent, self, aux)
VM_PROT_READ|VM_PROT_WRITE);
va += PAGE_SIZE;
}
+ pmap_update(pmap_kernel());
/*
* XXXEND
*/
diff --git a/sys/kern/kern_malloc_debug.c b/sys/kern/kern_malloc_debug.c
index dab61b5ac40..56a9319067d 100644
--- a/sys/kern/kern_malloc_debug.c
+++ b/sys/kern/kern_malloc_debug.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: kern_malloc_debug.c,v 1.14 2001/11/06 19:53:20 miod Exp $ */
+/* $OpenBSD: kern_malloc_debug.c,v 1.15 2001/12/08 02:24:07 art Exp $ */
/*
* Copyright (c) 1999, 2000 Artur Grabowski <art@openbsd.org>
@@ -140,6 +140,7 @@ debug_malloc(unsigned long size, int type, int flags, void **addr)
splx(s);
pmap_kenter_pa(md->md_va, md->md_pa, VM_PROT_ALL);
+ pmap_update(pmap_kernel());
md->md_size = size;
md->md_type = type;
@@ -196,6 +197,7 @@ debug_free(void *addr, int type)
* unmap the page.
*/
pmap_kremove(md->md_va, PAGE_SIZE);
+ pmap_update(pmap_kernel());
splx(s);
return (1);