Message ID | 1334871241-11932-1-git-send-email-swarren@wwwdotorg.org |
---|---|
State | Accepted |
Commit | 1723997610ace497252d6f9a44ec76c06951ae43 |
Headers | show |
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. -----------------------------------------------------------------------------------
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 --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