Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src/sys/arch/sparc64/sparc64

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.

Home | Main Index | Thread Index | Old Index