summaryrefslogtreecommitdiff
path: root/target/linux
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux')
-rw-r--r--target/linux/Config.in.kernelversion2
-rw-r--r--target/linux/patches/4.14.24/h8300.patch (renamed from target/linux/patches/4.14.8/h8300.patch)0
-rw-r--r--target/linux/patches/4.14.24/initramfs-nosizelimit.patch21
-rw-r--r--target/linux/patches/4.14.24/or1k-more-ram.patch (renamed from target/linux/patches/4.14.8/or1k-more-ram.patch)0
-rw-r--r--target/linux/patches/4.14.24/startup.patch21
-rw-r--r--target/linux/patches/4.14.8/mips64r6-multi3.patch107
6 files changed, 43 insertions, 108 deletions
diff --git a/target/linux/Config.in.kernelversion b/target/linux/Config.in.kernelversion
index 5ef5cf1ee..530a863cd 100644
--- a/target/linux/Config.in.kernelversion
+++ b/target/linux/Config.in.kernelversion
@@ -44,7 +44,7 @@ config ADK_TARGET_LINUX_KERNEL_VERSION_4_15
depends on !ADK_TARGET_SYSTEM_QEMU_ARM_REALVIEW_EB_MPCORE
config ADK_TARGET_LINUX_KERNEL_VERSION_4_14
- bool "4.14.8"
+ bool "4.14.24"
depends on !ADK_TARGET_ARCH_AVR32
depends on !ADK_TARGET_ARCH_CRIS
depends on !ADK_TARGET_ARCH_CSKY
diff --git a/target/linux/patches/4.14.8/h8300.patch b/target/linux/patches/4.14.24/h8300.patch
index 836a414e5..836a414e5 100644
--- a/target/linux/patches/4.14.8/h8300.patch
+++ b/target/linux/patches/4.14.24/h8300.patch
diff --git a/target/linux/patches/4.14.24/initramfs-nosizelimit.patch b/target/linux/patches/4.14.24/initramfs-nosizelimit.patch
new file mode 100644
index 000000000..0e524c1d9
--- /dev/null
+++ b/target/linux/patches/4.14.24/initramfs-nosizelimit.patch
@@ -0,0 +1,21 @@
+diff -Nur linux-4.14.24.orig/init/do_mounts.c linux-4.14.24/init/do_mounts.c
+--- linux-4.14.24.orig/init/do_mounts.c 2018-03-03 10:24:39.000000000 +0100
++++ linux-4.14.24/init/do_mounts.c 2018-03-08 02:32:01.136927457 +0100
+@@ -604,6 +604,7 @@
+ }
+
+ static bool is_tmpfs;
++static char tmpfs_rootflags[] = "nr_blocks=0,nr_inodes=0";
+ static struct dentry *rootfs_mount(struct file_system_type *fs_type,
+ int flags, const char *dev_name, void *data)
+ {
+@@ -616,6 +617,9 @@
+ if (IS_ENABLED(CONFIG_TMPFS) && is_tmpfs)
+ fill = shmem_fill_super;
+
++ if (is_tmpfs)
++ data = tmpfs_rootflags;
++
+ return mount_nodev(fs_type, flags, data, fill);
+ }
+
diff --git a/target/linux/patches/4.14.8/or1k-more-ram.patch b/target/linux/patches/4.14.24/or1k-more-ram.patch
index de848c838..de848c838 100644
--- a/target/linux/patches/4.14.8/or1k-more-ram.patch
+++ b/target/linux/patches/4.14.24/or1k-more-ram.patch
diff --git a/target/linux/patches/4.14.24/startup.patch b/target/linux/patches/4.14.24/startup.patch
new file mode 100644
index 000000000..2aefbd208
--- /dev/null
+++ b/target/linux/patches/4.14.24/startup.patch
@@ -0,0 +1,21 @@
+diff -Nur linux-4.14.24.orig/init/main.c linux-4.14.24/init/main.c
+--- linux-4.14.24.orig/init/main.c 2018-03-03 10:24:39.000000000 +0100
++++ linux-4.14.24/init/main.c 2018-03-08 06:15:19.961419100 +0100
+@@ -1069,6 +1069,8 @@
+ if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
+ pr_err("Warning: unable to open an initial console.\n");
+
++ printk(KERN_WARNING "Starting Linux (built with OpenADK).\n");
++
+ (void) sys_dup(0);
+ (void) sys_dup(0);
+ /*
+@@ -1077,7 +1079,7 @@
+ */
+
+ if (!ramdisk_execute_command)
+- ramdisk_execute_command = "/init";
++ ramdisk_execute_command = "/sbin/init";
+
+ if (sys_access((const char __user *) ramdisk_execute_command, 0) != 0) {
+ ramdisk_execute_command = NULL;
diff --git a/target/linux/patches/4.14.8/mips64r6-multi3.patch b/target/linux/patches/4.14.8/mips64r6-multi3.patch
deleted file mode 100644
index b635f4bb2..000000000
--- a/target/linux/patches/4.14.8/mips64r6-multi3.patch
+++ /dev/null
@@ -1,107 +0,0 @@
-MIPS: Implement __multi3 for GCC7 MIPS64r6 builds
-
-Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Signed-off-by: James Hogan <jhogan@kernel.org>
-
-diff -Nur linux-4.14.8.orig/arch/mips/lib/libgcc.h linux-4.14.8/arch/mips/lib/libgcc.h
---- linux-4.14.8.orig/arch/mips/lib/libgcc.h 2017-12-20 10:10:38.000000000 +0100
-+++ linux-4.14.8/arch/mips/lib/libgcc.h 2017-12-25 16:58:38.258470502 +0100
-@@ -10,10 +10,18 @@
- struct DWstruct {
- int high, low;
- };
-+
-+struct TWstruct {
-+ long long high, low;
-+};
- #elif defined(__LITTLE_ENDIAN)
- struct DWstruct {
- int low, high;
- };
-+
-+struct TWstruct {
-+ long long low, high;
-+};
- #else
- #error I feel sick.
- #endif
-@@ -23,4 +31,13 @@
- long long ll;
- } DWunion;
-
-+#if defined(CONFIG_64BIT) && defined(CONFIG_CPU_MIPSR6)
-+typedef int ti_type __attribute__((mode(TI)));
-+
-+typedef union {
-+ struct TWstruct s;
-+ ti_type ti;
-+} TWunion;
-+#endif
-+
- #endif /* __ASM_LIBGCC_H */
-diff -Nur linux-4.14.8.orig/arch/mips/lib/Makefile linux-4.14.8/arch/mips/lib/Makefile
---- linux-4.14.8.orig/arch/mips/lib/Makefile 2017-12-20 10:10:38.000000000 +0100
-+++ linux-4.14.8/arch/mips/lib/Makefile 2017-12-25 16:58:38.258470502 +0100
-@@ -16,4 +16,5 @@
- obj-$(CONFIG_CPU_TX39XX) += r3k_dump_tlb.o
-
- # libgcc-style stuff needed in the kernel
--obj-y += ashldi3.o ashrdi3.o bswapsi.o bswapdi.o cmpdi2.o lshrdi3.o ucmpdi2.o
-+obj-y += ashldi3.o ashrdi3.o bswapsi.o bswapdi.o cmpdi2.o lshrdi3.o multi3.o \
-+ ucmpdi2.o
-diff -Nur linux-4.14.8.orig/arch/mips/lib/multi3.c linux-4.14.8/arch/mips/lib/multi3.c
---- linux-4.14.8.orig/arch/mips/lib/multi3.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.14.8/arch/mips/lib/multi3.c 2017-12-25 16:58:38.258470502 +0100
-@@ -0,0 +1,52 @@
-+// SPDX-License-Identifier: GPL-2.0
-+#include <linux/export.h>
-+
-+#include "libgcc.h"
-+
-+/*
-+ * GCC 7 suboptimally generates __multi3 calls for mips64r6, so for that
-+ * specific case only we'll implement it here.
-+ *
-+ * See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82981
-+ */
-+#if defined(CONFIG_64BIT) && defined(CONFIG_CPU_MIPSR6) && (__GNUC__ == 7)
-+
-+/* multiply 64-bit values, low 64-bits returned */
-+static inline long long notrace dmulu(long long a, long long b)
-+{
-+ long long res;
-+ asm ("dmulu %0,%1,%2" : "=r" (res) : "r" (a), "r" (b));
-+ return res;
-+}
-+
-+/* multiply 64-bit unsigned values, high 64-bits of 128-bit result returned */
-+static inline long long notrace dmuhu(long long a, long long b)
-+{
-+ long long res;
-+ asm ("dmuhu %0,%1,%2" : "=r" (res) : "r" (a), "r" (b));
-+ return res;
-+}
-+
-+/* multiply 128-bit values, low 128-bits returned */
-+ti_type notrace __multi3(ti_type a, ti_type b)
-+{
-+ TWunion res, aa, bb;
-+
-+ aa.ti = a;
-+ bb.ti = b;
-+
-+ /*
-+ * a * b = (a.lo * b.lo)
-+ * + 2^64 * (a.hi * b.lo + a.lo * b.hi)
-+ * [+ 2^128 * (a.hi * b.hi)]
-+ */
-+ res.s.low = dmulu(aa.s.low, bb.s.low);
-+ res.s.high = dmuhu(aa.s.low, bb.s.low);
-+ res.s.high += dmulu(aa.s.high, bb.s.low);
-+ res.s.high += dmulu(aa.s.low, bb.s.high);
-+
-+ return res.ti;
-+}
-+EXPORT_SYMBOL(__multi3);
-+
-+#endif /* 64BIT && CPU_MIPSR6 && GCC7 */