- 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.