[Cbe-oss-dev] [PATCH 02/15] [PS3] Get lv1 high memory region from devtree

Nathan Whitehorn nwhitehorn at freebsd.org
Thu Aug 4 09:44:38 EST 2011


On 08/03/11 17:30, Geoff Levand wrote:
> On 08/01/2011 01:02 PM, Andre Heider wrote:
>> This lets the bootloader preallocate the high lv1 region and pass its
>> location to the kernel through the devtree. Thus, it can be used to hold
>> the initrd. If the property doesn't exist, the kernel retains the old
>> behavior and attempts to allocate the region itself.
> With this mechanism how is the address of the initrd passed to the
> new kernel, in the DT?
>
> How would a kexec based bootloader work?  If it's kernel were to allocate
> high mem and the bootloader program uses the high mem, how could it tell
> that kernel not to destroy the region on shutdown?
>
> If arch/powerpc/boot/ps3.c allocated the mem and added a DT entry
> then other OSes that don't know about the Linux device tree won't
> be able to use that allocated memory.  Other OSes could do a
> test to see if the allocation was already done.  Another option
> that might work is to write info into the LV1 repository then
> have boot code look there for allocated hig mem.
>

As the maintainer of the FreeBSD PS3 port (which is shipping as part of 
the upcoming 9.0 release), I share this concern. Our kernel could be 
adapted to use FDTs, but currently does not, and allocates this region 
itself. My personal preference, if we want to go down this road, would 
be to write it into the LV1 repository. The FDT is current ignored due 
to being useless in comparison to the repository -- it would be nice to 
have only one system description.
-Nathan


More information about the cbe-oss-dev mailing list