From owner-cvs-all Sat Mar 16 17:51:35 2002 Delivered-To: cvs-all@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 50E1137B405; Sat, 16 Mar 2002 17:51:32 -0800 (PST) Received: (from jake@localhost) by freefall.freebsd.org (8.11.6/8.11.6) id g2H1pW818307; Sat, 16 Mar 2002 17:51:32 -0800 (PST) (envelope-from jake) Message-Id: <200203170151.g2H1pW818307@freefall.freebsd.org> From: Jake Burkholder Date: Sat, 16 Mar 2002 17:51:32 -0800 (PST) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/sparc64/sparc64 pmap.c X-FreeBSD-CVS-Branch: HEAD Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG jake 2002/03/16 17:51:32 PST Modified files: sys/sparc64/sparc64 pmap.c Log: Fix a problem where kernel text could become unmapped when clearing out all the user mappings from the tlb due to the context numbers rolling over. The store to the internal mmu register must be followed by a membar #Sync before much else happens to "avoid data corruption", so we use special inlines which both disable interrupts and ensure that the compiler will not insert extra instructions between the two. Also, load the tte tag and check if the context is nucleus context, rather than relying on the priviledged bit which doesn't actually serve any purpose in our design, and check the lock bit too for sanity. Revision Changes Path 1.42 +9 -8 src/sys/sparc64/sparc64/pmap.c To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message