Paul Koning | 27 Jul 2006 15:15

Re: Fixing the R4000 end of page bug

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


Gmane