diff mbox

[U-Boot,V2,1/2] arm: fix bootm with device tree

Message ID 1334871241-11932-1-git-send-email-swarren@wwwdotorg.org
State Accepted
Commit 1723997610ace497252d6f9a44ec76c06951ae43
Headers show

Commit Message

Stephen Warren April 19, 2012, 9:34 p.m. UTC
From: Stephen Warren <swarren@nvidia.com>

Commit 0a672d4 "arm: Add Prep subcommand support to bootm" re-organized
do_bootm_linux() for ARM. During the re-organization, the code to pass
the device tree to the kernel was removed. Add it back. This restores
the ability to boot a kernel using device tree.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Tom Rini <trini@ti.com>
---
v2: Fix a build warning
---
 arch/arm/lib/bootm.c |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)

Comments

Allen Martin April 20, 2012, 5:55 p.m. UTC | #1
On Thu, Apr 19, 2012 at 02:34:00PM -0700, Stephen Warren wrote:
> From: Stephen Warren <swarren@nvidia.com>
> 
> Commit 0a672d4 "arm: Add Prep subcommand support to bootm" re-organized
> do_bootm_linux() for ARM. During the re-organization, the code to pass
> the device tree to the kernel was removed. Add it back. This restores
> the ability to boot a kernel using device tree.
> 
> Signed-off-by: Stephen Warren <swarren@nvidia.com>
> Acked-by: Tom Rini <trini@ti.com>

Acked-by: Allen Martin <amartin@nvidia.com>
Tested-by: Allen Martin <amartin@nvidia.com>

Verified I can boot a device tree kernel again after applying this.
Thanks for fixing this Stephen, I'm not sure why device tree support
was removed, but it broken tegra bad (and anyone else using device
tree I would imagine).

-Allen

-----------------------------------------------------------------------------------
This email message is for the sole use of the intended recipient(s) and may contain
confidential information.  Any unauthorized review, use, disclosure or distribution
is prohibited.  If you are not the intended recipient, please contact the sender by
reply email and destroy all copies of the original message.
-----------------------------------------------------------------------------------
Wolfgang Denk April 23, 2012, 8:10 p.m. UTC | #2
Dear Stephen Warren,

In message <1334871241-11932-1-git-send-email-swarren@wwwdotorg.org> you wrote:
> From: Stephen Warren <swarren@nvidia.com>
> 
> Commit 0a672d4 "arm: Add Prep subcommand support to bootm" re-organized
> do_bootm_linux() for ARM. During the re-organization, the code to pass
> the device tree to the kernel was removed. Add it back. This restores
> the ability to boot a kernel using device tree.
> 
> Signed-off-by: Stephen Warren <swarren@nvidia.com>
> Acked-by: Tom Rini <trini@ti.com>
> ---
> v2: Fix a build warning
> ---
>  arch/arm/lib/bootm.c |   11 ++++++++++-
>  1 files changed, 10 insertions(+), 1 deletions(-)

Applied, thanks.

Best regards,

Wolfgang Denk
diff mbox

Patch

diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c
index 1c1bee6..cba457f 100644
--- a/arch/arm/lib/bootm.c
+++ b/arch/arm/lib/bootm.c
@@ -317,6 +317,7 @@  static void boot_jump_linux(bootm_headers_t *images)
 	unsigned long machid = gd->bd->bi_arch_number;
 	char *s;
 	void (*kernel_entry)(int zero, int arch, uint params);
+	unsigned long r2;
 
 	kernel_entry = (void (*)(int, int, uint))images->ep;
 
@@ -330,7 +331,15 @@  static void boot_jump_linux(bootm_headers_t *images)
 		"...\n", (ulong) kernel_entry);
 	bootstage_mark(BOOTSTAGE_ID_RUN_OS);
 	announce_and_cleanup();
-	kernel_entry(0, machid, gd->bd->bi_boot_params);
+
+#ifdef CONFIG_OF_LIBFDT
+	if (images->ft_len)
+		r2 = (unsigned long)images->ft_addr;
+	else
+#endif
+		r2 = gd->bd->bi_boot_params;
+
+	kernel_entry(0, machid, r2);
 }
 
 /* Main Entry point for arm bootm implementation