
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@denx.de Cc: Simon Glass sjg@chromium.org Cc: Tom Rini trini@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