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

Joakim Tjernlund Joakim.Tjernlund at
Wed Mar 5 10:45:14 EST 2003

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


> 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 will do some more digging/testing and
maybe something could go into 2.5 eventally


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

More information about the Linuxppc-dev mailing list