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

Dan Malek dan at embeddedalley.com
Fri Oct 9 11:36:07 EST 2009

On Oct 8, 2009, at 3:23 PM, Benjamin Herrenschmidt wrote:

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

	-- Dan

More information about the Linuxppc-dev mailing list