summaryrefslogtreecommitdiff
path: root/sys/arch/alpha
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/alpha
parent76e77305cc16957c8ab6b04545a4d21c35a51adb (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.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
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);
}