[Cbe-oss-dev] [PATCH] Ignore memory listed in PS3 device tree
dwmw2 at infradead.org
Wed Apr 4 07:48:24 EST 2007
On Tue, 2007-04-03 at 14:18 -0700, Geoff Levand wrote:
> I'm in the middle of implementing the zImage and kexec support for the
> 2.6.21 kernel, but haven't pushed all of it out to ps3-linux.git yet.
> Once that is done, there is little need for a 2.6.16 based bootloader,
> since it would be just as well to use a recent kernel.
True, but there are people out there who _do_ have a 2.6.16-based
bootloader, and we don't really want to force them to update the
bootloader before they can update the kernel.
> diff --git a/arch/powerpc/kernel/head_64.S b/arch/powerpc/kernel/head_64.S
> --- a/arch/powerpc/kernel/head_64.S
> +++ b/arch/powerpc/kernel/head_64.S
> @@ -1642,7 +1642,7 @@ _STATIC(__start_initialization_iSeries)
> #if defined(CONFIG_PPC_PS3)
> -#if 1 /* override DT passed from bootloader */
> +#if 0 /* override DT passed from bootloader */
> LOAD_REG_IMMEDIATE(r3, dt_blob_start)
> clrldi r3, r3, 2 /* convert to physical */
I've been selective about which patches from ps3-linux-patches I've
included in the Fedora kernel -- I was after a _minimal_ set which
allows the machine to be functional. I haven't included the hacks in
head_64.S -- I'll probably need something like that when I come to build
the otheros.bld bootloader, but in fact that can probably live in the
zImage wrapper rather than the kernel itself. The otheros.bld is the
only time we'll be using a zImage wrapper.
> @@ -988,7 +990,15 @@ void __init early_init_devtree(void *params)
> - of_scan_flat_dt(early_init_dt_scan_memory, NULL);
> + if (!of_flat_dt_is_compatible(dt_root, "PS3"))
> + of_scan_flat_dt(early_init_dt_scan_memory, NULL);
Yeah, that'll have much the same effect as my original patch, although
Ben suggested that I do it differently; hence the second version with
But to go back to the unanswered question.... why _did_ we change from
having the memory in the device-tree, to dynamically querying for it?
More information about the Linuxppc-dev