From owner-cvs-src@FreeBSD.ORG Mon Nov 10 22:41:55 2003 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A45E216A4CE; Mon, 10 Nov 2003 22:41:55 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2817243FD7; Mon, 10 Nov 2003 22:41:55 -0800 (PST) (envelope-from jake@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAB6fsXJ005966; Mon, 10 Nov 2003 22:41:54 -0800 (PST) (envelope-from jake@repoman.freebsd.org) Received: (from jake@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAB6fsVE005965; Mon, 10 Nov 2003 22:41:54 -0800 (PST) (envelope-from jake) Message-Id: <200311110641.hAB6fsVE005965@repoman.freebsd.org> From: Jake Burkholder Date: Mon, 10 Nov 2003 22:41:54 -0800 (PST) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/sparc64/include cache.h src/sys/sparc64/sparc64 cache.c cheetah.c spitfire.c support.S trap.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Nov 2003 06:41:55 -0000 jake 2003/11/10 22:41:54 PST FreeBSD src repository Modified files: sys/sparc64/include cache.h sys/sparc64/sparc64 cache.c cheetah.c spitfire.c support.S trap.c Log: Fix a bug in the data access error recorvery. Before re-enabling the data cache after a data access error we must discard all cache lines. When disabled existing cache lines are not invalidated by stores to memory, so we risk reading stale data that was cached before the data access error if we don't flush them. This is especially fatal when the memory involved is the active part of the kernel or user stack. For good measure we also flush the instruction cache. This fixes random crashes when the X server probes the PCI bus through /dev/pci. Revision Changes Path 1.10 +9 -0 src/sys/sparc64/include/cache.h 1.18 +6 -0 src/sys/sparc64/sparc64/cache.c 1.5 +16 -0 src/sys/sparc64/sparc64/cheetah.c 1.5 +27 -0 src/sys/sparc64/sparc64/spitfire.c 1.29 +0 -4 src/sys/sparc64/sparc64/support.S 1.69 +2 -0 src/sys/sparc64/sparc64/trap.c