summaryrefslogtreecommitdiff
path: root/sys/arch/mvme88k
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2001-03-22 01:15:36 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2001-03-22 01:15:36 +0000
commita69be488dcf8f622a27d88d620f5311ac26360bb (patch)
tree2c8b014d35421058d20672ed71302e0a4ba4d3e4 /sys/arch/mvme88k
parent7edfaeb195e54542f95d2ca80996f5289a2c3110 (diff)
Get pmap->cpus_using before the pmap structure is touched. Besides, we
need to do this before playing with pmap_expand(). Solves a few more pmap data corruption problems.
Diffstat (limited to 'sys/arch/mvme88k')
-rw-r--r--sys/arch/mvme88k/mvme88k/pmap.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/arch/mvme88k/mvme88k/pmap.c b/sys/arch/mvme88k/mvme88k/pmap.c
index c235e521f6e..5e14c515e72 100644
--- a/sys/arch/mvme88k/mvme88k/pmap.c
+++ b/sys/arch/mvme88k/mvme88k/pmap.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pmap.c,v 1.24 2001/03/14 22:02:16 deraadt Exp $ */
+/* $OpenBSD: pmap.c,v 1.25 2001/03/22 01:15:35 miod Exp $ */
/*
* Copyright (c) 1996 Nivas Madhur
* All rights reserved.
@@ -2876,6 +2876,7 @@ pmap_enter(pmap_t pmap, vm_offset_t va, vm_offset_t pa,
Retry:
PMAP_LOCK(pmap, spl);
+ users = pmap->cpus_using;
/*
* Expand pmap to include this pte. Assume that
@@ -2896,8 +2897,6 @@ Retry:
*/
old_pa = M88K_PTOB(pte->pfn);
if (old_pa == pa) {
-
- users = pmap->cpus_using;
if (pmap == kernel_pmap) {
kflush = 1;
} else {
@@ -5274,6 +5273,8 @@ pmap_virtual_space(vm_offset_t *startp, vm_offset_t *endp)
*endp = virtual_end;
}
+#if !defined(MACHINE_NEW_NONCONTIG)
+
unsigned int
pmap_free_pages(void)
{
@@ -5291,6 +5292,8 @@ pmap_next_page(vm_offset_t *addrp)
return TRUE;
}
+#endif
+
#if USING_BATC
#ifdef OMRON_PMAP
/*