diff options
author | Greg Ungerer <gerg@uclinux.org> | 2011-03-28 16:48:00 +1000 |
---|---|---|
committer | Greg Ungerer <gerg@uclinux.org> | 2011-05-24 10:03:49 +1000 |
commit | d10ed2f5383cc6e6b7649f03540b8cb1838d5f67 (patch) | |
tree | b2ee2537f23e452df1d98a88877ae28f7e3264fa /arch/m68k/lib/string.c | |
parent | 80160de89d0a7c9a93dfe91eef2b448cbc380cd0 (diff) |
m68k: remove duplicate memset() implementation
Merging the mmu and non-mmu directories we ended up with duplicate
implementations of memset(). One is a little more optimized for the
>= 68020 case, but that can easily be inserted into a single
implementation of memset(). Clean up the exporting of this symbol
too, otherwise we end up exporting it twice on a no-mmu build.
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Diffstat (limited to 'arch/m68k/lib/string.c')
-rw-r--r-- | arch/m68k/lib/string.c | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/arch/m68k/lib/string.c b/arch/m68k/lib/string.c index 711fa743e6b..6d2461237a1 100644 --- a/arch/m68k/lib/string.c +++ b/arch/m68k/lib/string.c @@ -21,67 +21,6 @@ char *strcat(char *dest, const char *src) } EXPORT_SYMBOL(strcat); -void *memset(void *s, int c, size_t count) -{ - void *xs = s; - size_t temp, temp1; - - if (!count) - return xs; - c &= 0xff; - c |= c << 8; - c |= c << 16; - if ((long)s & 1) { - char *cs = s; - *cs++ = c; - s = cs; - count--; - } - if (count > 2 && (long)s & 2) { - short *ss = s; - *ss++ = c; - s = ss; - count -= 2; - } - temp = count >> 2; - if (temp) { - long *ls = s; - - asm volatile ( - " movel %1,%2\n" - " andw #7,%2\n" - " lsrl #3,%1\n" - " negw %2\n" - " jmp %%pc@(2f,%2:w:2)\n" - "1: movel %3,%0@+\n" - " movel %3,%0@+\n" - " movel %3,%0@+\n" - " movel %3,%0@+\n" - " movel %3,%0@+\n" - " movel %3,%0@+\n" - " movel %3,%0@+\n" - " movel %3,%0@+\n" - "2: dbra %1,1b\n" - " clrw %1\n" - " subql #1,%1\n" - " jpl 1b" - : "=a" (ls), "=d" (temp), "=&d" (temp1) - : "d" (c), "0" (ls), "1" (temp)); - s = ls; - } - if (count & 2) { - short *ss = s; - *ss++ = c; - s = ss; - } - if (count & 1) { - char *cs = s; - *cs = c; - } - return xs; -} -EXPORT_SYMBOL(memset); - void *memcpy(void *to, const void *from, size_t n) { void *xto = to; |