diff options
author | Kenneth R Westerback <krw@cvs.openbsd.org> | 2007-05-28 18:31:12 +0000 |
---|---|---|
committer | Kenneth R Westerback <krw@cvs.openbsd.org> | 2007-05-28 18:31:12 +0000 |
commit | 9d32b7668fc681bfe47769a66ac8c7291c4e438f (patch) | |
tree | 9710a1ac17c6b41204b37129ed6b9a3b89caca1f /sys/arch | |
parent | 5e4dafb47c0e11d5953ccd33bbcf70baa1ecadf3 (diff) |
Flush pmap from tlb before freeing it. Makes Core2Duo boxes more
stable, but is not a fully-understood or final fix.
From and ok art@
Diffstat (limited to 'sys/arch')
-rw-r--r-- | sys/arch/i386/i386/pmap.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/arch/i386/i386/pmap.c b/sys/arch/i386/i386/pmap.c index f694ff32653..051a4f887f2 100644 --- a/sys/arch/i386/i386/pmap.c +++ b/sys/arch/i386/i386/pmap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pmap.c,v 1.113 2007/05/27 21:33:25 tom Exp $ */ +/* $OpenBSD: pmap.c,v 1.114 2007/05/28 18:31:11 krw Exp $ */ /* $NetBSD: pmap.c,v 1.91 2000/06/02 17:46:37 thorpej Exp $ */ /* @@ -1532,6 +1532,11 @@ pmap_release(struct pmap *pmap) simple_unlock(&pmaps_lock); /* + * Before we free the pmap just make sure it's not cached anywhere. + */ + tlbflushg(); + + /* * free any remaining PTPs */ |