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