Module Name: src Committed By: mrg Date: Mon Feb 22 00:16:31 UTC 2010
Modified Files: src/sys/arch/sparc64/sparc64: autoconf.c cache.h cpu.c locore.s Log Message: - store the maximum [id]cache size / line size for each cpu - remove patch_kernel() since it isn't necessary and has been patching the wrong thing in general. - implement USIII versions of blast_icache(), dcache_flush_page() and cache_flush_phys(). use the newly recorded cache size/line sizes. - in winfixsave, flush the D$ with the right size index and ops. this kills one of the wrong tag->inval patches. - for blast_dcache(), use the newly recorded dcache_size/line_size. - for blast_icache(), use the newly recorded cache size/line sizes. for the USIII verison, disable the I$ while writing to ASI_ICACHE_TAG. these changes removed several hard coded cache sizes values, some very wrong kernel patching, and seem to make the current failure modes for USIII less common, but not gone. To generate a diff of this commit: cvs rdiff -u -r1.167 -r1.168 src/sys/arch/sparc64/sparc64/autoconf.c cvs rdiff -u -r1.11 -r1.12 src/sys/arch/sparc64/sparc64/cache.h cvs rdiff -u -r1.88 -r1.89 src/sys/arch/sparc64/sparc64/cpu.c cvs rdiff -u -r1.317 -r1.318 src/sys/arch/sparc64/sparc64/locore.s Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.