diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2001-03-22 01:15:36 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2001-03-22 01:15:36 +0000 |
commit | a69be488dcf8f622a27d88d620f5311ac26360bb (patch) | |
tree | 2c8b014d35421058d20672ed71302e0a4ba4d3e4 /sys/arch/mvme88k | |
parent | 7edfaeb195e54542f95d2ca80996f5289a2c3110 (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.c | 9 |
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 /* |