Ralf Baechle wrote:
> On Wed, Jan 08, 2003 at 11:33:01AM -0800, Mike Uhler wrote:
> > > They do are different: KSEG0+entry*0x2000, likewise for XKPHYS -- see the
> > > patch.
> > This is precisely what we use for our internal testing (which is also
> > exported to MIPS32 and MIPS64 architecture licensees) to initialize the
> > TLB. I have not yet seen a case where this fails, and would be interested
> > in hearing about any case where it does fail.
> We used to use just KSEG0 instead of KSEG0+entry*0x2000. That was running
> fine over years but had to be changed for the sake of two CPUs afair. There
> was some discussion on this list about this and I accepted the change by that
> time because Kevin imho correctly argued that the spec left it unspecified
> if an implementation is feeding addresses in an unmapped address space
> though the TLB.
All MIPS's CPUs need these unique TLB entries otherwise you get a machine check
Inspired by Kevin Kissell's changes to openBSD, I made the above change
(KSEG0+entry*0x2000) to the TLB routine in linux. It was done when we first
to boot linux on the MIPS 4Kc CPU, a couple of years ago.