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>
