boot process

Nathan Whitehorn nwhitehorn at freebsd.org
Tue Feb 24 08:41:34 PST 2009


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


More information about the freebsd-ppc mailing list