Date: Mon, 10 Nov 2003 22:41:54 -0800 (PST) From: Jake Burkholder <jake@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/sparc64/include cache.h src/sys/sparc64/sparc64 cache.c cheetah.c spitfire.c support.S trap.c Message-ID: <200311110641.hAB6fsVE005965@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200311110641.hAB6fsVE005965>