summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Crispin <john@openwrt.org>2015-02-09 12:10:46 +0000
committerJohn Crispin <john@openwrt.org>2015-02-09 12:10:46 +0000
commit7155ec719123e00a01b28dbe3863c081a8a40465 (patch)
tree7e5a5cebafc5c3ff779b077b4a68a8b34072167e
parentf17dee30588f1440044e461404de8b60800ea225 (diff)
downloadmtk-20170518-7155ec719123e00a01b28dbe3863c081a8a40465.zip
mtk-20170518-7155ec719123e00a01b28dbe3863c081a8a40465.tar.gz
mtk-20170518-7155ec719123e00a01b28dbe3863c081a8a40465.tar.bz2
kernel: copy mips_decompressor_memmove patch to 3.18/3.19
Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 44339
-rw-r--r--target/linux/generic/patches-3.18/060-mips_decompressor_memmove.patch22
-rw-r--r--target/linux/generic/patches-3.19/060-mips_decompressor_memmove.patch22
2 files changed, 44 insertions, 0 deletions
diff --git a/target/linux/generic/patches-3.18/060-mips_decompressor_memmove.patch b/target/linux/generic/patches-3.18/060-mips_decompressor_memmove.patch
new file mode 100644
index 0000000..d215b80
--- /dev/null
+++ b/target/linux/generic/patches-3.18/060-mips_decompressor_memmove.patch
@@ -0,0 +1,22 @@
+--- a/arch/mips/boot/compressed/string.c
++++ b/arch/mips/boot/compressed/string.c
+@@ -26,3 +26,19 @@ void *memset(void *s, int c, size_t n)
+ ss[i] = c;
+ return s;
+ }
++
++void *memmove(void *__dest, __const void *__src, size_t count)
++{
++ unsigned char *d = __dest;
++ const unsigned char *s = __src;
++
++ if (__dest == __src)
++ return __dest;
++
++ if (__dest < __src)
++ return memcpy(__dest, __src, count);
++
++ while (count--)
++ d[count] = s[count];
++ return __dest;
++}
diff --git a/target/linux/generic/patches-3.19/060-mips_decompressor_memmove.patch b/target/linux/generic/patches-3.19/060-mips_decompressor_memmove.patch
new file mode 100644
index 0000000..d215b80
--- /dev/null
+++ b/target/linux/generic/patches-3.19/060-mips_decompressor_memmove.patch
@@ -0,0 +1,22 @@
+--- a/arch/mips/boot/compressed/string.c
++++ b/arch/mips/boot/compressed/string.c
+@@ -26,3 +26,19 @@ void *memset(void *s, int c, size_t n)
+ ss[i] = c;
+ return s;
+ }
++
++void *memmove(void *__dest, __const void *__src, size_t count)
++{
++ unsigned char *d = __dest;
++ const unsigned char *s = __src;
++
++ if (__dest == __src)
++ return __dest;
++
++ if (__dest < __src)
++ return memcpy(__dest, __src, count);
++
++ while (count--)
++ d[count] = s[count];
++ return __dest;
++}