Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/netbsd-1-5]: src/sys/arch/vax/vax Pull up revision 1.87 (requested by ra...
details: https://anonhg.NetBSD.org/src/rev/3e208e9286aa
branches: netbsd-1-5
changeset: 489287:3e208e9286aa
user: ragge <ragge%NetBSD.org@localhost>
date: Sun Aug 27 15:25:03 2000 +0000
description:
Pull up revision 1.87 (requested by ragge):
Wiring of a page were done at the wrong place, so pages in kernel space
never got the wired bit set. This caused panics if a swapped out process
was swapped in again and the kernel stack had not yet been unmapped.
While here, add a forgotten lock initializer.
diffstat:
sys/arch/vax/vax/pmap.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diffs (35 lines):
diff -r 489f1e23cc76 -r 3e208e9286aa sys/arch/vax/vax/pmap.c
--- a/sys/arch/vax/vax/pmap.c Sun Aug 27 06:33:46 2000 +0000
+++ b/sys/arch/vax/vax/pmap.c Sun Aug 27 15:25:03 2000 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.82.2.1 2000/08/13 08:46:32 ragge Exp $ */
+/* $NetBSD: pmap.c,v 1.82.2.2 2000/08/27 15:25:03 ragge Exp $ */
/*
* Copyright (c) 1994, 1998, 1999 Ludd, University of Lule}, Sweden.
* All rights reserved.
@@ -412,6 +412,7 @@
MALLOC(pmap, struct pmap *, sizeof(*pmap), M_VMPMAP, M_WAITOK);
bzero(pmap, sizeof(struct pmap));
pmap_pinit(pmap);
+ simple_lock_init(&pmap->pm_lock);
return(pmap);
}
@@ -704,8 +705,6 @@
newpte = (p >> VAX_PGSHIFT) |
(prot & VM_PROT_WRITE ? PG_RW : PG_RO);
}
- if (flags & PMAP_WIRED)
- newpte |= PG_W;
/*
* Check if a pte page must be mapped in.
@@ -744,6 +743,8 @@
VM_PROT_READ|VM_PROT_WRITE);
}
}
+ if (flags & PMAP_WIRED)
+ newpte |= PG_W;
oldpte = patch[i] & ~(PG_V|PG_M);
Home |
Main Index |
Thread Index |
Old Index