[patch 3/3] cell: prevent alignment interrupt on local store

Segher Boessenkool segher at kernel.crashing.org
Tue Apr 10 22:52:33 EST 2007


> An Alignment interrupt occurs when the instruction is lmw, stmw, lswi, 
> lswx,
> stswi, or stswx, and the operand is in local store.
>
> GCC generated such instructions to handle memcpy() instead of kernel
> defined memcpy() without -mno-string option.

> +# An Alignment interrupt occurs when the instruction is lmw, stmw, 
> lswi, lswx,
> +# stswi, or stswx, and the operand is in local store.
> +CFLAGS_run.o := -mno-string
> +CFLAGS_file.o := -mno-string

NAK.  Please use memcpy_fromio() and friends instead,
that's what they're there for.  I believe Arnd was working
on this?

Your patch is only a partial solution, you'd need -mno-multiple
-mno-algebraic -mno-dcbz too (and two of those don't even
exist).


Segher




More information about the Linuxppc-dev mailing list