kernel: move three accepted patches from pending to backports
[openwrt/openwrt.git] / target / linux / generic / backport-5.10 / 311-v5.11-MIPS-zboot-put-appended-dtb-into-a-section.patch
diff --git a/target/linux/generic/backport-5.10/311-v5.11-MIPS-zboot-put-appended-dtb-into-a-section.patch b/target/linux/generic/backport-5.10/311-v5.11-MIPS-zboot-put-appended-dtb-into-a-section.patch
new file mode 100644 (file)
index 0000000..3f8808f
--- /dev/null
@@ -0,0 +1,36 @@
+From 7d1531c81c0fb4c93bea8dc316043ad0e4d0c270 Mon Sep 17 00:00:00 2001
+From: Chuanhong Guo <gch981213@gmail.com>
+Date: Sun, 25 Oct 2020 23:19:40 +0800
+Subject: [PATCH] MIPS: zboot: put appended dtb into a section
+
+This will make a separated section for dtb appear in ELF, and we can
+then use objcopy to patch a dtb into vmlinuz when RAW_APPENDED_DTB
+is set in kernel config.
+
+command to patch a dtb:
+objcopy --set-section-flags=.appended_dtb=alloc,contents \
+        --update-section=.appended_dtb=<target>.dtb vmlinuz vmlinuz-dtb
+
+Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
+---
+ arch/mips/boot/compressed/ld.script | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+--- a/arch/mips/boot/compressed/ld.script
++++ b/arch/mips/boot/compressed/ld.script
+@@ -31,9 +31,12 @@ SECTIONS
+               CONSTRUCTORS
+               . = ALIGN(16);
+       }
+-      __appended_dtb = .;
+-      /* leave space for appended DTB */
+-      . += 0x100000;
++
++      .appended_dtb : {
++              __appended_dtb = .;
++              /* leave space for appended DTB */
++              . += 0x100000;
++      }
+       _edata = .;
+       /* End of data section */