[U-Boot] [PATCH] Fix bootm to work on powerpc again (compressed uImage)

Stefan Roese sr at denx.de
Fri Jun 28 15:11:59 CEST 2013


On 06/28/2013 03:03 PM, Tom Rini wrote:
>> Patch 35fc84fa1 [Refactor the bootm command to reduce code duplication]
>> breaks booting Linux (compressed uImage with fdt) on powerpc.
>>
>> boot_jump_linux() mustn't be called before boot_prep_linux() and
>> boot_body_linux() have been called. So remove the superfluous call
>> to boot_jump_linux() in arch/powerpc/lib/bootm.c as its called later on
>> in this function.
>>
>> Signed-off-by: Stefan Roese <sr at denx.de>
>> Cc: Simon Glass <sjg at chromium.org>
>> Cc: Tom Rini <trini at ti.com>
>> ---
>> Simon, I'm not 100% sure why this is triggered by your patch.
>>
>> As you see, my patch only fixes powerpc. ARM might have the same problem
>> as it has the same code duplication in bootm.c.
> 
> Progress!  On PowerPC, does bootm work like before?

Yes. I'm using the same environment (boot_cmd) as before. And without
this patch "bootm kernel_addr - fdt_addr' hangs. I might only affect  DT
booting, as without this patch boot_jump_linux() is called without
calling boot_prep_linux() and boot_body_linux() before. One of those (I
didn't check which one) is responsible for this line:

   Loading Device Tree to 007f8000, end 007ffdd4 ... OK

And this is missing when this patch is not applied.

Thanks,
Stefan



More information about the U-Boot mailing list