Improved copy_page() function, about 30% speed up for mpc860!

Tom Rini trini at
Wed Mar 5 11:05:42 EST 2003

On Wed, Mar 05, 2003 at 12:45:14AM +0100, Joakim Tjernlund wrote:
> > Which change in particular are you talking about?
> This, in head_8xx.S:
> * Addendum: The EA of a data TLB error is _supposed_ to be stored
> * in DAR, but it seems that this doesn't happen in some cases, such
> * as when the error is due to a dcbi instruction to a page with a
> * TLB that doesn't have the changed bit set. In such cases, there
> * does not appear to be any way to recover the EA of the error
> * since it is neither in DAR nor MD_EPN. As a workaround, the
> * _PAGE_HWWRITE bit is set for all kernel data pages when the PTEs
> * are initialized in mapin_ram(). This will avoid the problem,
> * assuming we only use the dcbi instruction on kernel addresses.
> from

Well, the whole change is at:|ChangeSet@-1d

So, that should give it more context and make it clearer, I hope..

> > But I think as Dan
> > has said, it's best to just accept this and move along. :)  It's known
> > to be horribly broken in some cases, but not admited to by Motorola, and
> > distinguishing between 8xx's at runtime is not trivial.
> Regarding dcbz on user space yes, but not kernel space.

I have this feeling Dan is right and it's luck, not a lack of a real

Tom Rini

** Sent via the linuxppc-dev mail list. See

More information about the Linuxppc-dev mailing list