Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
[pandora-kernel.git] / arch / m68k / lib / string.c
index d399c5f..b9a57ab 100644 (file)
@@ -20,226 +20,3 @@ char *strcat(char *dest, const char *src)
        return __kernel_strcpy(dest + __kernel_strlen(dest), 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;
-       size_t temp, temp1;
-
-       if (!n)
-               return xto;
-       if ((long)to & 1) {
-               char *cto = to;
-               const char *cfrom = from;
-               *cto++ = *cfrom++;
-               to = cto;
-               from = cfrom;
-               n--;
-       }
-       if (n > 2 && (long)to & 2) {
-               short *sto = to;
-               const short *sfrom = from;
-               *sto++ = *sfrom++;
-               to = sto;
-               from = sfrom;
-               n -= 2;
-       }
-       temp = n >> 2;
-       if (temp) {
-               long *lto = to;
-               const long *lfrom = from;
-
-               asm volatile (
-                       "       movel %2,%3\n"
-                       "       andw  #7,%3\n"
-                       "       lsrl  #3,%2\n"
-                       "       negw  %3\n"
-                       "       jmp   %%pc@(1f,%3:w:2)\n"
-                       "4:     movel %0@+,%1@+\n"
-                       "       movel %0@+,%1@+\n"
-                       "       movel %0@+,%1@+\n"
-                       "       movel %0@+,%1@+\n"
-                       "       movel %0@+,%1@+\n"
-                       "       movel %0@+,%1@+\n"
-                       "       movel %0@+,%1@+\n"
-                       "       movel %0@+,%1@+\n"
-                       "1:     dbra  %2,4b\n"
-                       "       clrw  %2\n"
-                       "       subql #1,%2\n"
-                       "       jpl   4b"
-                       : "=a" (lfrom), "=a" (lto), "=d" (temp), "=&d" (temp1)
-                       : "0" (lfrom), "1" (lto), "2" (temp));
-               to = lto;
-               from = lfrom;
-       }
-       if (n & 2) {
-               short *sto = to;
-               const short *sfrom = from;
-               *sto++ = *sfrom++;
-               to = sto;
-               from = sfrom;
-       }
-       if (n & 1) {
-               char *cto = to;
-               const char *cfrom = from;
-               *cto = *cfrom;
-       }
-       return xto;
-}
-EXPORT_SYMBOL(memcpy);
-
-void *memmove(void *dest, const void *src, size_t n)
-{
-       void *xdest = dest;
-       size_t temp;
-
-       if (!n)
-               return xdest;
-
-       if (dest < src) {
-               if ((long)dest & 1) {
-                       char *cdest = dest;
-                       const char *csrc = src;
-                       *cdest++ = *csrc++;
-                       dest = cdest;
-                       src = csrc;
-                       n--;
-               }
-               if (n > 2 && (long)dest & 2) {
-                       short *sdest = dest;
-                       const short *ssrc = src;
-                       *sdest++ = *ssrc++;
-                       dest = sdest;
-                       src = ssrc;
-                       n -= 2;
-               }
-               temp = n >> 2;
-               if (temp) {
-                       long *ldest = dest;
-                       const long *lsrc = src;
-                       temp--;
-                       do
-                               *ldest++ = *lsrc++;
-                       while (temp--);
-                       dest = ldest;
-                       src = lsrc;
-               }
-               if (n & 2) {
-                       short *sdest = dest;
-                       const short *ssrc = src;
-                       *sdest++ = *ssrc++;
-                       dest = sdest;
-                       src = ssrc;
-               }
-               if (n & 1) {
-                       char *cdest = dest;
-                       const char *csrc = src;
-                       *cdest = *csrc;
-               }
-       } else {
-               dest = (char *)dest + n;
-               src = (const char *)src + n;
-               if ((long)dest & 1) {
-                       char *cdest = dest;
-                       const char *csrc = src;
-                       *--cdest = *--csrc;
-                       dest = cdest;
-                       src = csrc;
-                       n--;
-               }
-               if (n > 2 && (long)dest & 2) {
-                       short *sdest = dest;
-                       const short *ssrc = src;
-                       *--sdest = *--ssrc;
-                       dest = sdest;
-                       src = ssrc;
-                       n -= 2;
-               }
-               temp = n >> 2;
-               if (temp) {
-                       long *ldest = dest;
-                       const long *lsrc = src;
-                       temp--;
-                       do
-                               *--ldest = *--lsrc;
-                       while (temp--);
-                       dest = ldest;
-                       src = lsrc;
-               }
-               if (n & 2) {
-                       short *sdest = dest;
-                       const short *ssrc = src;
-                       *--sdest = *--ssrc;
-                       dest = sdest;
-                       src = ssrc;
-               }
-               if (n & 1) {
-                       char *cdest = dest;
-                       const char *csrc = src;
-                       *--cdest = *--csrc;
-               }
-       }
-       return xdest;
-}
-EXPORT_SYMBOL(memmove);