kernel: split patches folder up into backport, pending and hack folders
[openwrt/openwrt.git] / target / linux / generic / patches-4.4 / 092-MIPS-ZBOOT-copy-appended-dtb-to-the-end-of-the-kerne.patch
diff --git a/target/linux/generic/patches-4.4/092-MIPS-ZBOOT-copy-appended-dtb-to-the-end-of-the-kerne.patch b/target/linux/generic/patches-4.4/092-MIPS-ZBOOT-copy-appended-dtb-to-the-end-of-the-kerne.patch
deleted file mode 100644 (file)
index 78188dd..0000000
+++ /dev/null
@@ -1,132 +0,0 @@
-From b8f54f2cde788623f41d11327688c75aed34092f Mon Sep 17 00:00:00 2001
-From: Jonas Gorski <jogo@openwrt.org>
-Date: Mon, 20 Jun 2016 11:27:36 +0200
-Subject: [PATCH 1/2] MIPS: ZBOOT: copy appended dtb to the end of the kernel
-
-Instead of rewriting the arguments, just move the appended dtb to where
-the decompressed kernel expects it. This eliminates the need for special
-casing vmlinuz.bin appended dtb files.
-
-Signed-off-by: Jonas Gorski <jogo@openwrt.org>
-Cc: Kevin Cernekee <cernekee@gmail.com>
-Cc: Florian Fainelli <f.fainelli@gmail.com>
-Cc: John Crispin <john@phrozen.org>
-Cc: Paul Burton <paul.burton@imgtec.com>
-Cc: James Hogan <james.hogan@imgtec.com>
-Cc: Alban Bedel <albeu@free.fr>
-Cc: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
-Cc: Antony Pavlov <antonynpavlov@gmail.com>
-Cc: linux-mips@linux-mips.org
-Patchwork: https://patchwork.linux-mips.org/patch/13698/
-Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
----
- arch/mips/Kconfig                      | 22 ++--------------------
- arch/mips/boot/compressed/decompress.c | 17 +++++++++++++++++
- arch/mips/boot/compressed/head.S       | 16 ----------------
- 3 files changed, 19 insertions(+), 36 deletions(-)
-
---- a/arch/mips/Kconfig
-+++ b/arch/mips/Kconfig
-@@ -2753,10 +2753,10 @@ choice
-                 the documented boot protocol using a device tree.
-       config MIPS_RAW_APPENDED_DTB
--              bool "vmlinux.bin"
-+              bool "vmlinux.bin or vmlinuz.bin"
-               help
-                 With this option, the boot code will look for a device tree binary
--                DTB) appended to raw vmlinux.bin (without decompressor).
-+                DTB) appended to raw vmlinux.bin or vmlinuz.bin.
-                 (e.g. cat vmlinux.bin <filename>.dtb > vmlinux_w_dtb).
-                 This is meant as a backward compatibility convenience for those
-@@ -2768,24 +2768,6 @@ choice
-                 look like a DTB header after a reboot if no actual DTB is appended
-                 to vmlinux.bin.  Do not leave this option active in a production kernel
-                 if you don't intend to always append a DTB.
--
--      config MIPS_ZBOOT_APPENDED_DTB
--              bool "vmlinuz.bin"
--              depends on SYS_SUPPORTS_ZBOOT
--              help
--                With this option, the boot code will look for a device tree binary
--                DTB) appended to raw vmlinuz.bin (with decompressor).
--                (e.g. cat vmlinuz.bin <filename>.dtb > vmlinuz_w_dtb).
--
--                This is meant as a backward compatibility convenience for those
--                systems with a bootloader that can't be upgraded to accommodate
--                the documented boot protocol using a device tree.
--
--                Beware that there is very little in terms of protection against
--                this option being confused by leftover garbage in memory that might
--                look like a DTB header after a reboot if no actual DTB is appended
--                to vmlinuz.bin.  Do not leave this option active in a production kernel
--                if you don't intend to always append a DTB.
- endchoice
- choice
---- a/arch/mips/boot/compressed/decompress.c
-+++ b/arch/mips/boot/compressed/decompress.c
-@@ -14,6 +14,7 @@
- #include <linux/types.h>
- #include <linux/kernel.h>
- #include <linux/string.h>
-+#include <linux/libfdt.h>
- #include <asm/addrspace.h>
-@@ -36,6 +37,8 @@ extern void puthex(unsigned long long va
- #define puthex(val) do {} while (0)
- #endif
-+extern char __appended_dtb[];
-+
- void error(char *x)
- {
-       puts("\n\n");
-@@ -114,6 +117,20 @@ void decompress_kernel(unsigned long boo
-       __decompress((char *)zimage_start, zimage_size, 0, 0,
-                  (void *)VMLINUX_LOAD_ADDRESS_ULL, 0, 0, error);
-+      if (IS_ENABLED(CONFIG_MIPS_RAW_APPENDED_DTB) &&
-+          fdt_magic((void *)&__appended_dtb) == FDT_MAGIC) {
-+              unsigned int image_size, dtb_size;
-+
-+              dtb_size = fdt_totalsize((void *)&__appended_dtb);
-+
-+              /* last four bytes is always image size in little endian */
-+              image_size = le32_to_cpup((void *)&__image_end - 4);
-+
-+              /* copy dtb to where the booted kernel will expect it */
-+              memcpy((void *)VMLINUX_LOAD_ADDRESS_ULL + image_size,
-+                     __appended_dtb, dtb_size);
-+      }
-+
-       /* FIXME: should we flush cache here? */
-       puts("Now, booting the kernel...\n");
- }
---- a/arch/mips/boot/compressed/head.S
-+++ b/arch/mips/boot/compressed/head.S
-@@ -25,22 +25,6 @@ start:
-       move    s2, a2
-       move    s3, a3
--#ifdef CONFIG_MIPS_ZBOOT_APPENDED_DTB
--      PTR_LA  t0, __appended_dtb
--#ifdef CONFIG_CPU_BIG_ENDIAN
--      li      t1, 0xd00dfeed
--#else
--      li      t1, 0xedfe0dd0
--#endif
--      lw      t2, (t0)
--      bne     t1, t2, not_found
--       nop
--
--      move    s1, t0
--      PTR_LI  s0, -2
--not_found:
--#endif
--
-       /* Clear BSS */
-       PTR_LA  a0, _edata
-       PTR_LA  a2, _end