27 Jul 2006 15:15
Re: Fixing the R4000 end of page bug
Paul Koning <pkoning <at> equallogic.com>
2006-07-27 13:15:04 GMT
2006-07-27 13:15:04 GMT
>>>>> "Stephen" == Stephen M Rumble <stephen.rumble <at> utoronto.ca> writes:
Stephen> Hello all, I've begun looking into fixing some long-standing
Stephen> problems with revision 2.2 R4000 CPUs on SGI systems and
Stephen> would like any input whatsoever from those more experienced
Stephen> with MIPS. The most prominent bug in this revision occurs
Stephen> when a branch or jump exists as the last instruction in a
Stephen> page, the following page (containing the delay slot
Stephen> instruction) is not mapped, and a few other conditions
Stephen> (including a data cache miss) are met by the two prior
Stephen> instructions. ...
Sounds like the old SB1 rev 1 bug. The best answer is to use the same
solution they used, which is to tweak the GCC code generator to align
all branches to modulo 8 boundaries. That's simple, reliable, and has
very little performance impact.
paul
RSS Feed