On Mon, Oct 03, 2005 at 12:56:20PM +0100, Maciej W. Rozycki wrote:
> > > Of course if your TLB is indeed different from that of the R4k, then you
> > > shouldn't be setting cp0.config.mt to 1 in the first place...
> > The reason was primarily the tiny bit of extra performance because the
> > SB1 doesn't need the hazard handling overhead. Also tlb-sb1 has a few
> That's hardly a justification for duplicating all the code; I've thought
> the reason was actually historical -- hadn't it been simply written
> separately initially and never got merged properly afterwards?
Historically even the R10000 had it's own copy of the TLB code - with
the sole reason of existence being it having neither hazards nor suffering
from potencial duplicate TLB entries. Well, maybe also the very first
stages of MIPS SMP support.
Anyway, as you said that's little reason for an extra copy to exist and
so I both got axed.
> > changes that are needed to initialize a TLB in undefined state after
> > powerup. That was needed to run Linux on firmware-less SB1 cores.
> But that's true about the power-up state of the TLB on any MIPS CPU,
> isn't it?
Some come out of powerup with a cleared TLB but anyway, since normally
some piece of firmware takes care of these issues it's not something
Linux normally should need to worry about.