diff options
author | Hugh Graham <hugh@cvs.openbsd.org> | 2001-08-21 14:06:26 +0000 |
---|---|---|
committer | Hugh Graham <hugh@cvs.openbsd.org> | 2001-08-21 14:06:26 +0000 |
commit | 7222b3ec411457153e41be6ba95ecefe79ded9aa (patch) | |
tree | 209833c087e4b911be6d4571e4a7ba466f8b9523 | |
parent | 6c8ed4a1c8da96e893122a29ba08a8c40716b077 (diff) |
Art says it's ok for pmap_enter to effect no mapping change,
so just return success if this happens.
-rw-r--r-- | sys/arch/vax/vax/pmap.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/sys/arch/vax/vax/pmap.c b/sys/arch/vax/vax/pmap.c index 7367836cc41..2241c7659e2 100644 --- a/sys/arch/vax/vax/pmap.c +++ b/sys/arch/vax/vax/pmap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pmap.c,v 1.20 2001/08/11 01:56:18 art Exp $ */ +/* $OpenBSD: pmap.c,v 1.21 2001/08/21 14:06:25 hugh Exp $ */ /* $NetBSD: pmap.c,v 1.74 1999/11/13 21:32:25 matt Exp $ */ /* * Copyright (c) 1994, 1998, 1999 Ludd, University of Lule}, Sweden. @@ -741,10 +741,6 @@ if (startpmapdebug) oldpte = patch[i] & ~(PG_V|PG_M); - /* No mapping change. Not allowed to happen. */ - if (newpte == oldpte) - panic("pmap_enter onto myself"); - pv = pv_table + (p >> PGSHIFT); /* wiring change? */ @@ -754,6 +750,12 @@ if (startpmapdebug) return (KERN_SUCCESS); } + /* mapping unchanged? just return. */ + if (newpte == oldpte) { + RECURSEEND; + return (KERN_SUCCESS); + } + /* Changing mapping? */ oldpte &= PG_FRAME; if ((newpte & PG_FRAME) != oldpte) { |