[POWERPC] zImage: Cleanup and improve prep_kernel()
authorDavid Gibson <david@gibson.dropbear.id.au>
Mon, 5 Mar 2007 03:24:52 +0000 (14:24 +1100)
committerPaul Mackerras <paulus@samba.org>
Tue, 13 Mar 2007 02:35:01 +0000 (13:35 +1100)
commit79c8541924a220964f9f2cbed31eaa9fdb042eab
tree94e75bf65ea5cb0d40dfae7215ae432e1f914296
parentad9d2716cfc1cda5a7e0d7bc0db45e3af8a4adbb
[POWERPC] zImage: Cleanup and improve prep_kernel()

This patch rewrites prep_kernel() in the zImage wrapper code to be
clearer and more flexible.  Notable changes:

- Handling of the initrd image from prep_kernel() has moved
into a new prep_initrd() function.
- The address of the initrd image is now added as device tree
properties, as the kernel expects.
- We only copy a packaged initrd image to a new location if it
is in danger of being clobbered when the kernel moves to its final
location, instead of always.
- By default we decompress the kernel directly to address 0,
instead of requiring it to relocate itself.  Platforms (such as OF)
where doing this could clobber still-live firmware data structures can
override the vmlinux_alloc hook to provide an alternate place to
decompress the kernel.
- We no longer pass lots of information between functions in
global variables.

Signed-off-by: David Gibson <dwg@au1.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/boot/main.c
arch/powerpc/boot/of.c
arch/powerpc/boot/ops.h