linux-origin
[Top] [All Lists]

Re: Tlb shutdown bit

To: ralf@xxxxxxxxxxx (Ralf Baechle)
Subject: Re: Tlb shutdown bit
From: sprasad@xxxxxxxxxxxxxxxxxxxx (Srinivasa Prasad Thirumalachar)
Date: Fri, 7 Apr 2000 09:54:38 -0700 (PDT)
Cc: kanoj@xxxxxxxxxxxxxxxxxxx (Kanoj Sarcar), linux-origin@xxxxxxxxxxx, sprasad@xxxxxxxxxxxxxxxxxxx, peltier@xxxxxxxxxxxxxxxxxxxx, mahdi@xxxxxxxxxxxxxxxxxxxx
In-reply-to: <20000407011521.A860@uni-koblenz.de> from "Ralf Baechle" at Apr 07, 2000 01:15:21 AM
Sender: owner-linux-origin@xxxxxxxxxxx
According to Ralf Baechle ...
> 
> On Thu, Apr 06, 2000 at 03:12:34PM -0700, Kanoj Sarcar wrote:
> 
> > It looks like when the first processor starts executing the Linux
> > kernel entry point (from the IO6prom), it already has the TS (tlb
> > shutdown) bit set. I am wondering why this might happen. Note that
> > the Linux kernel is not loaded at xkphys (0xa800....), but rather
> > at ckseg0 (0xffffffff80...).
> 
> Maybe I'm now talking complete bull since I don't have the manuals at hand
> nor can find one at this time, but anyway ...  Afair the TS bit in the R10000
> can never be set because on tlbwi / tlbwr the processor examines all
> entries for a hit at the virtual address etc. of the new entry.  If so,
> these entries will be invalidated.

>From the manual available online at

http://www.sgi.com/processors/r10k/manual/t5.Ver.2.0.book_275.html

It says that this bit is set when tlb is "presented" with an entry
that is already present and may cause multiple matches. It also
goes on to say those conflicting entries are invalidated before the
new entry is inserted. What we dont know is whether TS is sticky.
We dont know whether it gets cleared after the the r10k 'fixes'
everything.

I will cc some more key folks.

Steve/Mahdi,
This is a thread from the linux on origin project. Could you please
look at it and let us know what is the right interpretation.

The kernel runs in ckseg0 space and TS gets set when the kernel
is invoked. The kernel is launched from a prom which runs mapped.

If you think TS must never be set, the linux kernel folks need to
examine which code is causing dup entries.

Thanks
srinivasa



> 
> Good night ...
> 
>   Ralf
> 


<Prev in Thread] Current Thread [Next in Thread>