[OpenWrt-Devel] [PATCH] kernel: Update arc-add-OWRTDTB-section patch for 4.14

Evgeniy Didin evgeniy.didin at synopsys.com
Wed Mar 20 01:30:40 PDT 2019


In 4.14.104 commit "e7264579eb80" (ARC: U-boot: check arguments paranoidly)
was introduced, which together with 332-arc-add-OWRTDTB-section.patch
caused build failure.

This commit updates 332-arc-add-OWRTDTB-section.patch.

Fixes:
http://phase1.builds.openwrt.org/builders/archs38%2Fgeneric/builds/1290
http://phase1.builds.openwrt.org/builders/archs38%2Fgeneric/builds/1269

Signed-off-by: Evgeniy Didin <Evgeniy.Didin at synopsys.com>
Cc: Alexey Brodkin <abrodkin at synopsys.com>
Cc: Hauke Mehrtens <hauke at hauke-m.de>
Cc: John Crispin <john at phrozen.org>
---
 .../pending-4.14/332-arc-add-OWRTDTB-section.patch | 73 +++++++++++++---------
 1 file changed, 43 insertions(+), 30 deletions(-)

diff --git a/target/linux/generic/pending-4.14/332-arc-add-OWRTDTB-section.patch b/target/linux/generic/pending-4.14/332-arc-add-OWRTDTB-section.patch
index 414dbbc0c1..d99d68af3c 100644
--- a/target/linux/generic/pending-4.14/332-arc-add-OWRTDTB-section.patch
+++ b/target/linux/generic/pending-4.14/332-arc-add-OWRTDTB-section.patch
@@ -1,5 +1,7 @@
-From: Alexey Brodkin <abrodkin at synopsys.com>
-Subject: openwrt: arc - add OWRTDTB section
+From 34ef04f3845ed2b47d57dd9d3b795b16e1f8185a Mon Sep 17 00:00:00 2001
+From: Evgeniy Didin <Evgeniy.Didin at synopsys.com>
+Date: Fri, 15 Mar 2019 18:53:38 +0300
+Subject: [PATCH] arc add OWRTDTB section
 
 This change allows OpenWRT to patch resulting kernel binary with
 external .dtb.
@@ -10,35 +12,50 @@ given its ARC core configurations match (at least cache line sizes etc).
 ""patch-dtb" searches for ASCII "OWRTDTB:" strign and copies external
 .dtb right after it, keeping the string in place.
 
+Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev at synopsys.com>
 Signed-off-by: Alexey Brodkin <abrodkin at synopsys.com>
+Signed-off-by: Evgeniy Didin <Evgeniy.Didin at synopsys.com>
 ---
  arch/arc/kernel/head.S        | 10 ++++++++++
  arch/arc/kernel/setup.c       |  4 +++-
  arch/arc/kernel/vmlinux.lds.S | 13 +++++++++++++
  3 files changed, 26 insertions(+), 1 deletion(-)
 
+diff --git a/arch/arc/kernel/head.S b/arch/arc/kernel/head.S
+index 1f945d0f40da..40f3b6462581 100644
 --- a/arch/arc/kernel/head.S
 +++ b/arch/arc/kernel/head.S
 @@ -59,6 +59,16 @@
  #endif
  .endm
  
-+; Here "patch-dtb" will embed external .dtb
-+; Note "patch-dtb" searches for ASCII "OWRTDTB:" string
-+; and pastes .dtb right after it, hense the string precedes
-+; __image_dtb symbol.
++	; Here "patch-dtb" will embed external .dtb
++	; Note "patch-dtb" searches for ASCII "OWRTDTB:" string
++	; and pastes .dtb right after it, hense the string precedes
++	; __image_dtb symbol.
 +	.section .owrt, "aw", at progbits
-+	.ascii	"OWRTDTB:"
++	.ascii  "OWRTDTB:"
 +ENTRY(__image_dtb)
-+	.fill	0x4000
++	.fill   0x4000
 +END(__image_dtb)
 +
  	.section .init.text, "ax", at progbits
  
  ;----------------------------------------------------------------
+diff --git a/arch/arc/kernel/setup.c b/arch/arc/kernel/setup.c
+index 709649e5f9bc..6e3e01c3f41d 100644
 --- a/arch/arc/kernel/setup.c
 +++ b/arch/arc/kernel/setup.c
-@@ -469,7 +469,7 @@ ignore_uboot_args:
+@@ -434,6 +434,8 @@ static inline bool uboot_arg_invalid(unsigned long addr)
+ #define UBOOT_TAG_CMDLINE	1
+ #define UBOOT_TAG_DTB		2
+ 
++extern struct boot_param_header __image_dtb;
++
+ void __init handle_uboot_args(void)
+ {
+ 	bool use_embedded_dtb = true;
+@@ -469,7 +471,7 @@ void __init handle_uboot_args(void)
  #endif
  
  	if (use_embedded_dtb) {
@@ -47,34 +64,30 @@ Signed-off-by: Alexey Brodkin <abrodkin at synopsys.com>
  		if (!machine_desc)
  			panic("Embedded DT invalid\n");
  	}
-@@ -485,6 +485,8 @@ ignore_uboot_args:
- 	}
- }
- 
-+extern struct boot_param_header __image_dtb;
-+
- void __init setup_arch(char **cmdline_p)
- {
- 	handle_uboot_args();
+diff --git a/arch/arc/kernel/vmlinux.lds.S b/arch/arc/kernel/vmlinux.lds.S
+index f35ed578e007..12c5ab5d7302 100644
 --- a/arch/arc/kernel/vmlinux.lds.S
 +++ b/arch/arc/kernel/vmlinux.lds.S
-@@ -30,6 +30,19 @@ SECTIONS
+@@ -29,6 +29,19 @@ SECTIONS
+ 	 */
  
  	. = CONFIG_LINUX_LINK_BASE;
- 
 +	/*
-+	 * In OpenWRT we want to patch built binary embedding .dtb of choice.
-+	 * This is implemented with "patch-dtb" utility which searches for
-+	 * "OWRTDTB:" string in first 16k of image and if it is found
-+	 * copies .dtb right after mentioned string.
-+	 *
-+	 * Note: "OWRTDTB:" won't be overwritten with .dtb, .dtb will follow it.
-+	 */
-+	.owrt : {
++	* In OpenWRT we want to patch built binary embedding .dtb of choice.
++	* This is implemented with "patch-dtb" utility which searches for
++	* "OWRTDTB:" string in first 16k of image and if it is found
++	* copies .dtb right after mentioned string.
++	*
++	* Note: "OWRTDTB:" won't be overwritten with .dtb, .dtb will follow it.
++	*/
++ 	.owrt : {
 +		*(.owrt)
-+		. = ALIGN(PAGE_SIZE);
++	. = ALIGN(PAGE_SIZE);
 +	}
 +
+ 
  	_int_vec_base_lds = .;
  	.vector : {
- 		*(.vector)
+-- 
+2.16.2
+
-- 
2.16.2




More information about the openwrt-devel mailing list