[PATCH 3/6] 8xx: invalidate non present TLBs
Benjamin Herrenschmidt
benh at kernel.crashing.org
Fri Oct 9 11:57:52 EST 2009
On Thu, 2009-10-08 at 17:36 -0700, Dan Malek wrote:
> 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
> 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.
More information about the Linuxppc-dev
mailing list