diff options
author | 2001-03-22 01:15:35 +0000 | |
---|---|---|
committer | 2001-03-22 01:15:35 +0000 | |
commit | 8ebc7f6537b4d78b11ff2a5bd5e58081a4b7e6bb (patch) | |
tree | 6b7c599479975b6700f5bcde6201308794e286e8 | |
parent | Introduce powerup/powerdown actions, when power status changes (AC (diff) | |
download | wireguard-openbsd-8ebc7f6537b4d78b11ff2a5bd5e58081a4b7e6bb.tar.xz wireguard-openbsd-8ebc7f6537b4d78b11ff2a5bd5e58081a4b7e6bb.zip |
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.
-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 /* |