X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=include%2Fasm-sparc%2Fstring.h;h=cb1e923356c61a7855ac824f54ace382955f9dc9;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=1182435f416323856a4097d5c860fc8a26b06601;hpb=87fc8d1bb10cd459024a742c6a10961fefcef18f;p=linux-2.6.git diff --git a/include/asm-sparc/string.h b/include/asm-sparc/string.h index 1182435f4..cb1e92335 100644 --- a/include/asm-sparc/string.h +++ b/include/asm-sparc/string.h @@ -22,7 +22,6 @@ extern __kernel_size_t __memset(void *,int,__kernel_size_t); #ifndef EXPORT_SYMTAB_STROPS /* First the mem*() things. */ -#define __HAVE_ARCH_BCOPY #define __HAVE_ARCH_MEMMOVE #undef memmove #define memmove(_to, _from, _n) \ @@ -40,6 +39,9 @@ static inline void *__constant_memcpy(void *to, const void *from, __kernel_size_ if(n <= 32) { __builtin_memcpy(to, from, n); + } else if (((unsigned int) to & 7) != 0) { + /* Destination is not aligned on the double-word boundary */ + __memcpy(to, from, n); } else { switch(n) { case PAGE_SIZE: