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 error. 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 tried to boot linux on the MIPS 4Kc CPU, a couple of years ago. > > Ralf