aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/pending-4.4/093-MIPS-store-the-appended-dtb-address-in-a-variable.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/generic/pending-4.4/093-MIPS-store-the-appended-dtb-address-in-a-variable.patch')
-rw-r--r--target/linux/generic/pending-4.4/093-MIPS-store-the-appended-dtb-address-in-a-variable.patch132
1 files changed, 0 insertions, 132 deletions
diff --git a/target/linux/generic/pending-4.4/093-MIPS-store-the-appended-dtb-address-in-a-variable.patch b/target/linux/generic/pending-4.4/093-MIPS-store-the-appended-dtb-address-in-a-variable.patch
deleted file mode 100644
index d868d210aa..0000000000
--- a/target/linux/generic/pending-4.4/093-MIPS-store-the-appended-dtb-address-in-a-variable.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-From 15f37e1588920e010f20b53f04af94e91b8ee714 Mon Sep 17 00:00:00 2001
-From: Jonas Gorski <jogo@openwrt.org>
-Date: Mon, 20 Jun 2016 11:27:37 +0200
-Subject: [PATCH] MIPS: store the appended dtb address in a variable
-
-Instead of rewriting the arguments to match the UHI spec, store the
-address of a appended or UHI supplied dtb in fw_supplied_dtb.
-
-That way the original bootloader arugments are kept intact while still
-making the use of an appended dtb invisible for mach code.
-
-Mach code can still find out if it is an appended dtb by comparing
-fw_arg1 with fw_supplied_dtb.
-
-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/13699/
-Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
----
- arch/mips/ath79/setup.c | 4 ++--
- arch/mips/bmips/setup.c | 4 ++--
- arch/mips/include/asm/bootinfo.h | 4 ++++
- arch/mips/kernel/head.S | 21 ++++++++++++++-------
- arch/mips/kernel/setup.c | 4 ++++
- arch/mips/lantiq/prom.c | 4 ++--
- arch/mips/pic32/pic32mzda/init.c | 4 ++--
- 7 files changed, 30 insertions(+), 15 deletions(-)
-
---- a/arch/mips/ath79/setup.c
-+++ b/arch/mips/ath79/setup.c
-@@ -207,6 +207,8 @@ void __init plat_mem_setup(void)
- fdt_start = fw_getenvl("fdt_start");
- if (fdt_start)
- __dt_setup_arch((void *)KSEG0ADDR(fdt_start));
-+ else if (fw_passed_dtb)
-+ __dt_setup_arch((void *)KSEG0ADDR(fw_passed_dtb));
- #ifdef CONFIG_BUILTIN_DTB
- else
- __dt_setup_arch(__dtb_start);
---- a/arch/mips/bmips/setup.c
-+++ b/arch/mips/bmips/setup.c
-@@ -149,8 +149,8 @@ void __init plat_mem_setup(void)
- /* intended to somewhat resemble ARM; see Documentation/arm/Booting */
- if (fw_arg0 == 0 && fw_arg1 == 0xffffffff)
- dtb = phys_to_virt(fw_arg2);
-- else if (fw_arg0 == -2) /* UHI interface */
-- dtb = (void *)fw_arg1;
-+ else if (fw_passed_dtb) /* UHI interface */
-+ dtb = (void *)fw_passed_dtb;
- else if (__dtb_start != __dtb_end)
- dtb = (void *)__dtb_start;
- else
---- a/arch/mips/include/asm/bootinfo.h
-+++ b/arch/mips/include/asm/bootinfo.h
-@@ -127,6 +127,10 @@ extern char arcs_cmdline[COMMAND_LINE_SI
- */
- extern unsigned long fw_arg0, fw_arg1, fw_arg2, fw_arg3;
-
-+#ifdef CONFIG_USE_OF
-+extern unsigned long fw_passed_dtb;
-+#endif
-+
- /*
- * Platform memory detection hook called by setup_arch
- */
---- a/arch/mips/kernel/head.S
-+++ b/arch/mips/kernel/head.S
-@@ -94,21 +94,24 @@ NESTED(kernel_entry, 16, sp) # kernel
- jr t0
- 0:
-
-+#ifdef CONFIG_USE_OF
- #ifdef CONFIG_MIPS_RAW_APPENDED_DTB
-- PTR_LA t0, __appended_dtb
-+ PTR_LA t2, __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 a1, t0
-- PTR_LI a0, -2
--not_found:
-+ lw t0, (t2)
-+ beq t0, t1, dtb_found
-+#endif
-+ li t1, -2
-+ beq a0, t1, dtb_found
-+ move t2, a1
-+
-+ li t2, 0
-+dtb_found:
- #endif
- PTR_LA t0, __bss_start # clear .bss
- LONG_S zero, (t0)
-@@ -123,6 +126,10 @@ not_found:
- LONG_S a2, fw_arg2
- LONG_S a3, fw_arg3
-
-+#ifdef CONFIG_USE_OF
-+ LONG_S t2, fw_passed_dtb
-+#endif
-+
- MTC0 zero, CP0_CONTEXT # clear context register
- PTR_LA $28, init_thread_union
- /* Set the SP after an empty pt_regs. */
---- a/arch/mips/kernel/setup.c
-+++ b/arch/mips/kernel/setup.c
-@@ -886,6 +886,10 @@ void __init setup_arch(char **cmdline_p)
- unsigned long kernelsp[NR_CPUS];
- unsigned long fw_arg0, fw_arg1, fw_arg2, fw_arg3;
-
-+#ifdef CONFIG_USE_OF
-+unsigned long fw_passed_dtb;
-+#endif
-+
- #ifdef CONFIG_DEBUG_FS
- struct dentry *mips_debugfs_dir;
- static int __init debugfs_mips(void)