Subject: Re: More details on the telnet with CONFIG_PIN_TLB problems

From: Matt Porter <[email-masked]>
Date: Tue, 4 Jun 2002 09:57:20 -0700

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).
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.

Regards,
--
Matt Porter
[email-masked]
This is Linux Country. On a quiet night, you can hear Windows reboot.

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