[ARM] 3809/3: get rid of 4 megabyte kernel image size limit
authorLennert Buytenhek <buytenh@org.rmk.(none)>
Fri, 29 Sep 2006 20:14:05 +0000 (21:14 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sat, 30 Sep 2006 10:30:44 +0000 (11:30 +0100)
commit2552fc27ff79b10b9678d92bcaef21df38bb7bb6
treec69faf46c3df7f9260f33ea7e562bebee6854766
parent6ae5a6ef0340908fb7065a75231ae9980a910fbe
[ARM] 3809/3: get rid of 4 megabyte kernel image size limit

We currently have a hardcoded 4 megabyte uncompressed kernel image
size limit, which is easily exceeded by, for example, enabling some of
the various kernel debugging options.

When setting up the initial page tables (which is where this 4M limit
is hardcoded), it's actually relatively easy to find out the true size
of the uncompressed kernel image and create enough page table entries
for things to fit, so this patch makes it so.

In the decompressor, we also need to know the size of the uncompressed
kernel image, to figure out whether there is any chance that uncompressing
the kernel might overwrite the compressed kernel image stored elsewhere
in memory. We don't have that info at this boot stage, though, so we
approximate the size of the uncompressed kernel by taking the compressed
kernel image size and allowing for a maximum 4x expansion.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/boot/compressed/head.S
arch/arm/kernel/head.S