kernel: split patches folder up into backport, pending and hack folders
[openwrt/openwrt.git] / target / linux / generic / patches-4.4 / 332-arc-add-OWRTDTB-section.patch
diff --git a/target/linux/generic/patches-4.4/332-arc-add-OWRTDTB-section.patch b/target/linux/generic/patches-4.4/332-arc-add-OWRTDTB-section.patch
deleted file mode 100644 (file)
index 5a2b67c..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-From 690e7f2cad271595ff68cace1c45fb10779bde41 Mon Sep 17 00:00:00 2001
-From: Alexey Brodkin <abrodkin@synopsys.com>
-Date: Fri, 15 Jan 2016 00:34:01 +0300
-Subject: [PATCH 2/2] openwrt: arc - add OWRTDTB section
-
-This change allows OpenWRT to patch resulting kernel binary with
-external .dtb.
-
-That allows us to re-use exactky the same vmlinux on different boards
-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: Alexey Brodkin <abrodkin@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(-)
-
---- a/arch/arc/kernel/head.S
-+++ b/arch/arc/kernel/head.S
-@@ -49,6 +49,16 @@
- 1:
- .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.
-+      .section .owrt, "aw",@progbits
-+      .ascii  "OWRTDTB:"
-+ENTRY(__image_dtb)
-+      .fill   0x4000
-+END(__image_dtb)
-+
-       .section .init.text, "ax",@progbits
- ;----------------------------------------------------------------
---- a/arch/arc/kernel/setup.c
-+++ b/arch/arc/kernel/setup.c
-@@ -366,6 +366,8 @@ static inline int is_kernel(unsigned lon
-       return 0;
- }
-+extern struct boot_param_header __image_dtb;
-+
- void __init setup_arch(char **cmdline_p)
- {
- #ifdef CONFIG_ARC_UBOOT_SUPPORT
-@@ -379,7 +381,7 @@ void __init setup_arch(char **cmdline_p)
- #endif
-       {
-               /* No, so try the embedded one */
--              machine_desc = setup_machine_fdt(__dtb_start);
-+              machine_desc = setup_machine_fdt(&__image_dtb);
-               if (!machine_desc)
-                       panic("Embedded DT invalid\n");
---- a/arch/arc/kernel/vmlinux.lds.S
-+++ b/arch/arc/kernel/vmlinux.lds.S
-@@ -30,6 +30,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 : {
-+              *(.owrt)
-+              . = ALIGN(PAGE_SIZE);
-+      }
-+
-       _int_vec_base_lds = .;
-       .vector : {
-               *(.vector)