summaryrefslogtreecommitdiff
path: root/arch/mips/lib/bootm.c
diff options
context:
space:
mode:
authorDaniel Schwierzeck <daniel.schwierzeck@gmail.com>2015-02-22 16:58:30 +0100
committerDaniel Schwierzeck <daniel.schwierzeck@gmail.com>2015-04-24 12:15:34 +0200
commit90b1c9fad7bde21e3f0d388d0ba0ac5ee1f2e976 (patch)
tree2bd21a8949cb93556cc580e3ea838923324423dd /arch/mips/lib/bootm.c
parentd8c1d5d5fb6eafbc532982125f006e49f2c40e71 (diff)
downloadu-boot-imx-90b1c9fad7bde21e3f0d388d0ba0ac5ee1f2e976.zip
u-boot-imx-90b1c9fad7bde21e3f0d388d0ba0ac5ee1f2e976.tar.gz
u-boot-imx-90b1c9fad7bde21e3f0d388d0ba0ac5ee1f2e976.tar.bz2
MIPS: implement device-tree handover to Linux kernel
Add device-tree handover to Linux kernel conforming with MIPS UHI [1]. Register $a0 will be set to the reserved value -2. The address of the device-tree blob will be stored as KSEG0 address in $a1. $a2 and $a3 are set to zero. [1] http://prplfoundation.org/wiki/MIPS_documentation Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Diffstat (limited to 'arch/mips/lib/bootm.c')
-rw-r--r--arch/mips/lib/bootm.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/mips/lib/bootm.c b/arch/mips/lib/bootm.c
index d9d8396..e289799 100644
--- a/arch/mips/lib/bootm.c
+++ b/arch/mips/lib/bootm.c
@@ -317,7 +317,11 @@ static void boot_jump_linux(bootm_headers_t *images)
bootstage_report();
#endif
- kernel(linux_argc, (ulong)linux_argv, (ulong)linux_env, linux_extra);
+ if (images->ft_len)
+ kernel(-2, (ulong)images->ft_addr, 0, 0);
+ else
+ kernel(linux_argc, (ulong)linux_argv, (ulong)linux_env,
+ linux_extra);
}
int do_bootm_linux(int flag, int argc, char * const argv[],