linux/arch
David Gibson 35af89eb49 [POWERPC] Cleanup zImage handling of kernel entry with flat device tree
This makes 2 changes to clean up the flat device tree handling
logic in the zImage wrapper.

First, there were two callbacks from the dt_ops structure used for
producing a final flat tree to pass to the kerne: dt_ops.ft_pack()
which packed the flat tree (possibly a no-op) and dt_ops.ft_addr()
which retreived the address of the final blob.  Since they were only
ever called together, this patch combines the two into a single new
callback, dt_ops.finalize().  This new callback does whatever
platform-dependent things are necessary to produce a final flat device
tree blob, and returns the blob's addres.

Second, the current logic calls the kernel with a flat device tree if
one is build into the zImage wrapper, otherwise it boots the kernel
with a PROM pointer, expecting the kernel to copy the OF device tree
itself.  This approach precludes the possibility of the platform
wrapper code building a flat device tree from whatever
platform-specific information firmware provides.  Thus, this patch
takes the more sensible approach of invoking the kernel with a flat
tree if the dt_ops.finalize callback provides one (by whatever means).

So, the dt_ops.finalize callback can be NULL, or can be a function
which returns NULL.  In either case, the zImage wrapper logic assumes
that this is a platform with OF and invokes the kernel accordingly.

Signed-off-by: David Gibson <dwg@au1.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-12-04 20:39:34 +11:00
..
alpha [NET]: Alpha checksum annotations and cleanups. 2006-12-02 21:23:01 -08:00
arm Fix misc Kconfig typos 2006-11-30 05:22:59 +01:00
arm26 [PATCH] remove bogus arch-specific syscall exports 2006-10-11 11:17:07 -07:00
avr32 AVR32: Add missing return instruction in __raw_writesb 2006-11-06 14:07:16 +01:00
cris [NET]: Cris checksum annotations and cleanups. 2006-12-02 21:23:02 -08:00
frv [NET]: FRV checksum annotations. 2006-12-02 21:23:03 -08:00
h8300 [NET]: H8300 checksum annotations and cleanups. 2006-12-02 21:23:04 -08:00
i386 Merge branch 'release' of master.kernel.org:/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2006-12-02 08:28:28 -08:00
ia64 [NET]: IA64 checksum annotations and cleanups. 2006-12-02 21:23:05 -08:00
m32r [NET]: M32R checksum annotations and cleanups. 2006-12-02 21:23:06 -08:00
m68k [NET]: M68K checksum annotations and cleanups. 2006-12-02 21:23:07 -08:00
m68knommu [NET]: M68Knommu checksum annotations and cleanups. 2006-12-02 21:23:08 -08:00
mips [NET]: MIPS checksum annotations and cleanups. 2006-12-02 21:23:09 -08:00
parisc [NET]: PARISC checksum annotations and cleanups. 2006-12-02 21:23:10 -08:00
powerpc [POWERPC] Cleanup zImage handling of kernel entry with flat device tree 2006-12-04 20:39:34 +11:00
ppc [POWERPC] Compilation fixes for ppc4xx PCI-less configs 2006-12-04 20:39:24 +11:00
s390 [S390] IRQs too early enabled. 2006-11-06 10:49:02 +01:00
sh [NET]: Kill direct includes of asm/checksum.h 2006-12-02 21:22:59 -08:00
sh64 [NET]: SH64 checksum annotations and cleanups. 2006-12-02 21:23:11 -08:00
sparc Fix misc Kconfig typos 2006-11-30 05:22:59 +01:00
sparc64 PCI: Use pci_generic_prep_mwi on sparc64 2006-12-01 14:36:57 -08:00
um [NET]: UML checksum annotations and cleanups. 2006-12-02 21:23:12 -08:00
v850 [NET]: V850 checksum annotations and cleanups. 2006-12-02 21:23:13 -08:00
x86_64 [NET]: X86_64 checksum annotations and cleanups. 2006-12-02 21:23:14 -08:00
xtensa [PATCH] vmlinux.lds: consolidate initcall sections 2006-10-27 15:34:51 -07:00