More details on the telnet with CONFIG_PIN_TLB problems

David Gibson david at gibson.dropbear.id.au
Wed Jun 5 10:02:39 EST 2002


On Tue, Jun 04, 2002 at 09:57:20AM -0700, Matt Porter wrote:
>
> On Tue, Jun 04, 2002 at 10:54:51PM +1000, Paul Mackerras wrote:
> >
> > Looks like Ben and I have found the problem; Ben added an isync and a
> > sync to set_context() after setting the PID register and that seems to
> > have fixed it.  It makes sense, as isync invalidates the shadow DTLB
> > and ITLB.  (The sync may be unnecessary.)
>
> Makes sense, I was telling some folks at work that it had to be a
> 40x specific code problem.  The 440 has had an isync in set_context()
> and doesn't see this problem (and by default uses pinned TLBs).

Heh, well not only uses them by default, but must use them since
translation is always on.

> Changing the PID is a context changing event that requires a context
> synchronization.  The sync shouldn't be necessary per the UM and
> seems to be true in practice from my 440 testing.

--
David Gibson			| For every complex problem there is a
david at gibson.dropbear.id.au	| solution which is simple, neat and
				| wrong.  -- H.L. Mencken
http://www.ozlabs.org/people/dgibson

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/





More information about the Linuxppc-embedded mailing list