Thread (37 messages) flat view 37 messages, 3 authors, 2009-10-09

Re: [PATCH 3/6] 8xx: invalidate non present TLBs

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2009-10-09 00:58:25

On Thu, 2009-10-08 at 17:36 -0700, Dan Malek wrote:
On Oct 8, 2009, at 3:23 PM, Benjamin Herrenschmidt wrote:
quoted
<<
• Reference and change bit updates—The MPC850 does not generate an  
exception for
  an R (reference) bit update. In fact, there is no entry for an R  
bit in the TLB.
  The change bit (C) is bit 23 in the level-two descriptor,  
described in Table 8-4.
  Software updates C (changed) bits, but hardware treats the C bit  
(negated) as a
  write-protect attribute. Therefore, attempting to write to a page  
marked unmodified
  invalidates that entry and causes an implementation-specific DTLB  
error exception.
  ^^^^^^^^^^^^^^^^^^^^^^
  If change bits are not needed, set the C bit to one by default in  
the PTEs.
How interesting....

I've looked at many 8xx docs and they all have the same text
(probably cut/paste :-))  I'd place some debug code in the C functions
to print out a few of the TLB Entry for various errors to see if this  
really
happens, and for other errors, too.  I guess I never stumbled into
this because I always thought I had to do everything from software,
so just made sure I did.
I'm not sure it's worth bothering :-) I'm happy to continue assuming we
need to tlbie and always make sure we do so.

Cheers,
Ben.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help