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

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 --- arch/arm/lib/bootm.c | 11 ++++++++++- 1 files changed, 10 insertions(+), 1 deletions(-)
diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c index 1c1bee6..95e596a 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 = images->ft_addr; + else +#endif + r2 = gd->bd->bi_boot_params; + + kernel_entry(0, machid, r2); }
/* Main Entry point for arm bootm implementation

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 call to fdt_fixup_ethernet() was removed. I assume this was useful, so add it back.
Signed-off-by: Stephen Warren swarren@nvidia.com --- arch/arm/lib/bootm.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c index 95e596a..133b555 100644 --- a/arch/arm/lib/bootm.c +++ b/arch/arm/lib/bootm.c @@ -256,6 +256,7 @@ static int create_fdt(bootm_headers_t *images)
fdt_chosen(*of_flat_tree, 1); fixup_memory_node(*of_flat_tree); + fdt_fixup_ethernet(*of_flat_tree); fdt_initrd(*of_flat_tree, *initrd_start, *initrd_end, 1);
return 0;

On 04/19/2012 02:09 PM, Stephen Warren wrote:
From: Stephen Warrenswarren@nvidia.com
Commit 0a672d4 "arm: Add Prep subcommand support to bootm" re-organized do_bootm_linux for ARM. During the re-organization, the call to fdt_fixup_ethernet() was removed. I assume this was useful, so add it back.
Signed-off-by: Stephen Warrenswarren@nvidia.com
Acked-by: Tom Rini trini@ti.com

On 04/19/2012 02:09 PM, Stephen Warren wrote:
From: Stephen Warrenswarren@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 Warrenswarren@nvidia.com
Acked-by: Tom Rini trini@ti.com

On 04/19/2012 03:30 PM, Tom Rini wrote:
On 04/19/2012 02:09 PM, Stephen Warren wrote:
From: Stephen Warrenswarren@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 Warrenswarren@nvidia.com
Acked-by: Tom Rini trini@ti.com
Who's going to take this patch through their tree? Is it Albert or Wolfgang directly, or should I ask Tom Warren to do it through the Tegra tree?

On Fri, Apr 20, 2012 at 02:42:26PM -0600, Stephen Warren wrote:
On 04/19/2012 03:30 PM, Tom Rini wrote:
On 04/19/2012 02:09 PM, Stephen Warren wrote:
From: Stephen Warrenswarren@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 Warrenswarren@nvidia.com
Acked-by: Tom Rini trini@ti.com
Who's going to take this patch through their tree? Is it Albert or Wolfgang directly, or should I ask Tom Warren to do it through the Tegra tree?
I would suggest Wolfgang directly.

-----Original Message----- From: Tom Rini [mailto:tom.rini@gmail.com] On Behalf Of Tom Rini Sent: Friday, April 20, 2012 1:53 PM To: Stephen Warren; Wolfgang Denk Cc: Simon Schwarz; u-boot@lists.denx.de; Tom Warren Subject: Re: [U-Boot] [PATCH 1/2] arm: fix bootm with device tree
- PGP Signed by an unknown key
On Fri, Apr 20, 2012 at 02:42:26PM -0600, Stephen Warren wrote:
On 04/19/2012 03:30 PM, Tom Rini wrote:
On 04/19/2012 02:09 PM, Stephen Warren wrote:
From: Stephen Warrenswarren@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 Warrenswarren@nvidia.com
Acked-by: Tom Rini trini@ti.com
Who's going to take this patch through their tree? Is it Albert or Wolfgang directly, or should I ask Tom Warren to do it through the Tegra tree?
I would suggest Wolfgang directly.
I have it in my u-boot-tegra/next branch on denx right now, just so I can test kernel boot. It's arch/arm/lib/bootm.c, though, so shouldn't it go thru Albert's tree?
Tom
-- Tom
- Unknown Key
- 0x94391D56

On Fri, Apr 20, 2012 at 02:29:15PM -0700, Tom Warren wrote:
-----Original Message----- From: Tom Rini [mailto:tom.rini@gmail.com] On Behalf Of Tom Rini Sent: Friday, April 20, 2012 1:53 PM To: Stephen Warren; Wolfgang Denk Cc: Simon Schwarz; u-boot@lists.denx.de; Tom Warren Subject: Re: [U-Boot] [PATCH 1/2] arm: fix bootm with device tree
- PGP Signed by an unknown key
On Fri, Apr 20, 2012 at 02:42:26PM -0600, Stephen Warren wrote:
On 04/19/2012 03:30 PM, Tom Rini wrote:
On 04/19/2012 02:09 PM, Stephen Warren wrote:
From: Stephen Warrenswarren@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 Warrenswarren@nvidia.com
Acked-by: Tom Rini trini@ti.com
Who's going to take this patch through their tree? Is it Albert or Wolfgang directly, or should I ask Tom Warren to do it through the Tegra tree?
I would suggest Wolfgang directly.
I have it in my u-boot-tegra/next branch on denx right now, just so I can test kernel boot. It's arch/arm/lib/bootm.c, though, so shouldn't it go thru Albert's tree?
It's a relatively obvious fix (since it restores code that was removed by accident). And since Wolfgang wants to release tomorrow, I think it's reasonable to just have this go in, unless Albert snags this and sends off a PR right away. :)
participants (3)
-
Stephen Warren
-
Tom Rini
-
Tom Warren