ARM: Fix decompressor's kernel size estimation for ROM=y
authorRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 25 Feb 2010 23:56:38 +0000 (23:56 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Fri, 26 Feb 2010 00:10:47 +0000 (00:10 +0000)
commit98e12b5a6e05413420a7e3b3eca7fbfc2ff41b6d
tree0d8e2d7f6dab7baf96da5a32678bd85095778853
parentbaac35c4155a8aa826c70acee6553368ca5243a2
ARM: Fix decompressor's kernel size estimation for ROM=y

Commit 2552fc2 changed the way the decompressor decides if it is safe
to decompress the kernel directly to its final location.  Unfortunately,
it took the top of the compressed data as being the stack pointer,
which it is for ROM=n cases.  However, for ROM=y, the stack pointer
is not relevant, and results in the wrong answer.

Fix this by explicitly storing the end of the biggybacked data in the
decompressor, and use that to calculate the compressed image size.

CC: <stable@kernel.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/boot/compressed/head.S
arch/arm/boot/compressed/vmlinux.lds.in