[PATCH] ARM: Fix relocation if image end past uncompressed kernel end
nicolas.pitre at linaro.org
Fri Apr 22 10:12:01 EDT 2011
On Thu, 21 Apr 2011, Tony Lindgren wrote:
> * Nicolas Pitre <nicolas.pitre at linaro.org> [110421 20:20]:
> > I found the bugger. The problem was a bad stack alignment.
> .. as this patch won't solve the n900 booting problem with zImage.
> With LZMA I'm still also getting "LZMA data is corrupt".
Is it possible you have bad RAM? In compressed/head.S, locate this
@ determine final kernel image address
mov r4, pc
and r4, r4, #0xf8000000
add r4, r4, #TEXT_OFFSET
ldr r4, =zreladdr
Right after that, simply override r4 with a physical address towards the
end of the RAM, say 8MB before end of RAM (unless your decompressed
kernel is larger than that). That won't make a booting system, but at
least you will be able to test the decompressor when loaded at various
locations in memory without involving the relocation loop.
More information about the linux-arm-kernel