Hi Greg,
thanks for the fix. I'll test this as soon as I get my own PC back... I
use Geert's master tree as code basis.
Best regards,
Matthias
> That looks to be the memcpy.c from linux-3.0, yes?
>
> Looking at the memcpy.c code for m68knommu before merging
> and cleanup I can see that it used to do this:
>
> const char *c_from = from;
> char *c_to = to;
> while (n-- > 0)
> *c_to++ = *c_from++;
> return((void *) to);
>
> for the the M68000 case. (Actually it did that for all
> non-ColdFire cases). Which obviously would always work,
> but is not particularly efficient.
>
> So, yes, the current code is broken for M68000. It doesn't
> check alignment of the source ("from") address.
>
> Heres a first attempt at a fix for this. This is only compile
> tested, not run tested... Basically we check that if after
> 16bit aligning the destination if the source is unaligned
> then we resort to a byte wise copy.
>
> Need to check if CPU32 needs this or not too. ColdFire doesn't.
--
To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html