Browse Source

linux: update to 4.14.24

Waldemar Brodkorb 6 years ago
parent
commit
6d3fcc94f1

+ 2 - 2
mk/linux-ver.mk

@@ -22,10 +22,10 @@ KERNEL_VERSION:=	$(KERNEL_FILE_VER)-$(KERNEL_RELEASE)
 KERNEL_HASH:=		a23d7e1a9c1f72528531d9933e59e4cc4556752a2ea029fdc66a1b0fd24c8a3a
 endif
 ifeq ($(ADK_TARGET_LINUX_KERNEL_VERSION_4_14),y)
-KERNEL_FILE_VER:=	4.14.8
+KERNEL_FILE_VER:=	4.14.24
 KERNEL_RELEASE:=	1
 KERNEL_VERSION:=	$(KERNEL_FILE_VER)-$(KERNEL_RELEASE)
-KERNEL_HASH:=		6ebcc57ba31d714af872347184d1de32f4ab0b7096ef4e062d1ca6b3234d9333
+KERNEL_HASH:=		ba512d1bd7f5910bae0f5d66554810f097f82e5df6fccb8c7cc4a11410839801
 endif
 ifeq ($(ADK_TARGET_LINUX_KERNEL_VERSION_4_9),y)
 KERNEL_FILE_VER:=	4.9.86

+ 1 - 1
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

+ 0 - 0
target/linux/patches/4.14.8/h8300.patch → target/linux/patches/4.14.24/h8300.patch


+ 21 - 0
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);
+ }
+ 

+ 0 - 0
target/linux/patches/4.14.8/or1k-more-ram.patch → target/linux/patches/4.14.24/or1k-more-ram.patch


+ 21 - 0
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;

+ 0 - 107
target/linux/patches/4.14.8/mips64r6-multi3.patch

@@ -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 */