]> git.baikalelectronics.ru Git - kernel.git/commit
[ARM] 4224/2: allow XIP kernel to boot again
authorNicolas Pitre <nico@cam.org>
Thu, 22 Feb 2007 15:18:09 +0000 (16:18 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sun, 25 Feb 2007 16:41:38 +0000 (16:41 +0000)
commit465a1542566d71b5a0c0bce9278a789f5b1b0f13
treeaa5448d3b8c293e7e0df786669092e6cac55c068
parent2c1ceca79d798d3ab5e241c1404906b855500fa4
[ARM] 4224/2: allow XIP kernel to boot again

Since commit 89ab6bd7e591fc834cacd3f58614cc00805e2a08 XIP kernels failed
to boot because (_end - PAGE_OFFSET - 1) is much smaller than the size
of the kernel text and data in the XIP case, causing the kernel not to
be entirely mapped.

Even in the non-XIP case, the use of (_end - PAGE_OFFSET - 1) is wrong
because it produces a too large value if TEXT_OFFSET is larger than 1MB.

Finally the original code was performing one loop too many.

Let's break the loop when the section pointer has passed the last byte
of the kernel instead.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/kernel/head.S
arch/arm/kernel/vmlinux.lds.S