From owner-freebsd-ppc@FreeBSD.ORG Tue Feb 24 17:07:02 2009 Return-Path: Delivered-To: freebsd-ppc@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F362910656C6 for ; Tue, 24 Feb 2009 17:07:01 +0000 (UTC) (envelope-from alexf@vsi.ru) Received: from serv1.vsi.ru (serv1.vsi.ru [80.82.32.12]) by mx1.freebsd.org (Postfix) with ESMTP id 763268FC0C for ; Tue, 24 Feb 2009 17:07:01 +0000 (UTC) (envelope-from alexf@vsi.ru) Received: from serv1 (serv1 [80.82.32.12]) by serv1.vsi.ru (8.13.8+Sun/8.13.8) with ESMTP id n1OH6xgr016103; Tue, 24 Feb 2009 20:06:59 +0300 (MSK) Date: Tue, 24 Feb 2009 20:06:59 +0300 (MSK) From: Aleksey V Fedorov X-X-Sender: alexf@serv1 To: Nathan Whitehorn In-Reply-To: <49A42369.600@freebsd.org> Message-ID: References: <49A2704F.4060703@semihalf.com> <49A42369.600@freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: freebsd-ppc@freebsd.org Subject: Re: boot process X-BeenThere: freebsd-ppc@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the PowerPC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2009 17:07:02 -0000 On Tue, 24 Feb 2009, Nathan Whitehorn wrote: >> 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. I know how to obtain parameters. My question is how to store them at early boot? For example is it possible to store them in the rest of 16MB page after kernel and device-tree block? kernel start = 0xc0000100 kernel end = 0xc0528a18 device-tree block start = 0xc0800800 device-tree block end = 0xc080168e Is it safe to store unflatten device tree after 0xc080168e ? Is the rest of 16MB page retain unchaged or it can be used later? --