Thread (10 messages) flat view 10 messages, 4 authors, 2002-06-06

Re: More details on the telnet with CONFIG_PIN_TLB problems

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2002-06-04 16:43:44

quoted
Looks like Ben and I have found the problem;
Cool.  I know this works OK on 8xx, I just haven't finished a working
tlb miss handler that will work regardless of the page size.
From my understanding, it seems the problem on 4xx is that the
shadow TLBs aren't keeping the PID. Thus the following scenario
would break (entirely in kernel, no rfi, no interrupt) :

   - copy_tofrom_user
   - context switch
   - copy_tofrom_user

In that case, the PID is changed, but stale DLB entries are still
around, thus screwing up the second copy_tofrom_user.

The isync;sync I added fixes it by clearing the shadow DTLB.
I haven't yet tested without the sync, the 405 doc is unclear about
what instruction flush the shadow DTLB, unlike it does for the shadow
ITLB. The isync may be enough.

Ben.


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help