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>