Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 24 Feb 2009 10:42:17 -0600
From:      Nathan Whitehorn <nwhitehorn@freebsd.org>
To:        Aleksey V Fedorov <alexf@vsi.ru>
Cc:        freebsd-ppc@freebsd.org
Subject:   Re: boot process
Message-ID:  <49A42369.600@freebsd.org>
In-Reply-To: <Pine.GSO.4.62.0902241839390.12361@serv1>
References:  <Pine.GSO.4.62.0902212141241.25932@serv1> <49A2704F.4060703@semihalf.com> <Pine.GSO.4.62.0902241839390.12361@serv1>

next in thread | previous in thread | raw e-mail | index | archive | help
Aleksey V Fedorov wrote:
> 
> Hi!
> 
> On Mon, 23 Feb 2009, Rafal Jaworowski wrote:
> 
>> 2. Hack e500_init() routine in the kernel to hard code some config 
>> data it
>> normally gets from loader, like physical RAM size, memory regions 
>> number etc.,
>> CCSR base address, CCB clock frequency, maybe something more, see 
>> e500_init()
>> for details.
> 
> What is regular method to allocate some piece of memory in e500_init() 
> for unflatten device tree structures? Board loader provide pointer to to 
> the device-tree block in r3(i.e. void *mdp argument of e500_init()).
> I can parse them, but where to store tree at this point?

FreeBSD currently does not support the flattened device trees used by 
Linux. Instead, it uses a hardcoded set of board information, which will 
do fine as a temporary solution.

If you wish to add support, I would suggest looking at how the PowerPC 
AIM code uses Open Firmware to obtain boot parameters, and also at the 
Open Firmware interface layer (as implemented, for example, in 
sys/dev/ofw/ofw_standard.c). This is something I've been meaning to do 
for some time in order to facilitate a Cell port.
-Nathan



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?49A42369.600>