kernel: add a memmove() implementation for MIPS boot decompressor
[openwrt/openwrt.git] / target / linux / generic / patches-3.14 / 063-mips_decompressor_memmove.patch
1 Index: linux-3.14.16/arch/mips/boot/compressed/string.c
2 ===================================================================
3 --- linux-3.14.16.orig/arch/mips/boot/compressed/string.c 2014-08-07 16:50:59.000000000 -0700
4 +++ linux-3.14.16/arch/mips/boot/compressed/string.c 2014-10-23 16:42:01.015003995 -0700
5 @@ -26,3 +26,19 @@
6 ss[i] = c;
7 return s;
8 }
9 +
10 +void *memmove(void *__dest, __const void *__src, size_t count)
11 +{
12 + unsigned char *d = __dest;
13 + const unsigned char *s = __src;
14 +
15 + if (__dest == __src)
16 + return __dest;
17 +
18 + if (__dest < __src)
19 + return memcpy(__dest, __src, count);
20 +
21 + while (count--)
22 + d[count] = s[count];
23 + return __dest;
24 +}