[PATCH 3/6] 8xx: invalidate non present TLBs
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.
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.
More information about the Linuxppc-dev