From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26999 invoked by alias); 20 Apr 2005 10:50:31 -0000 Mailing-List: contact ecos-discuss-help@ecos.sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: ecos-discuss-owner@ecos.sourceware.org Received: (qmail 26970 invoked from network); 20 Apr 2005 10:50:26 -0000 Received: from unknown (HELO hermes.chez-thomas.org) (206.168.96.204) by sourceware.org with SMTP; 20 Apr 2005 10:50:26 -0000 Received: by hermes.chez-thomas.org (Postfix, from userid 2000) id 1A6BF100212; Wed, 20 Apr 2005 04:50:26 -0600 (MDT) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by hermes.chez-thomas.org (Postfix) with ESMTP id D9EC810020F; Wed, 20 Apr 2005 04:50:24 -0600 (MDT) From: Gary Thomas To: Will Wagner Cc: eCos Discussion In-Reply-To: <42663119.306@carallon.com> References: <42663119.306@carallon.com> Content-Type: text/plain Organization: MLB Associates Date: Wed, 20 Apr 2005 10:53:00 -0000 Message-Id: <1113994224.1030.170.camel@hermes> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-Spam-Checker-Version: SpamAssassin 3.0.0 (2004-09-13) on hermes.chez-thomas.org X-Spam-Level: X-Spam-Status: No, score=-5.9 required=2.5 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.0.0 Subject: Re: [ECOS] Dual Port RAM on MPC8xx X-SW-Source: 2005-04/txt/msg00207.txt.bz2 On Wed, 2005-04-20 at 11:38 +0100, Will Wagner wrote: > I'm trying to understand how the allocation of DPRAM is done in the > function _mpc8xx_allocBd in cpm.c. > > Can someone explain why nextBD is initialised as: > > static short *nextBd = (short *)(CYGHWR_HAL_VSR_TABLE + 0x1F0); > > Presumably this is so that redboot and an application can cooperate when > using the DPRAM? Why is this address chosen and when is it's contents > ever initialised? > > Presumably it may not have been initialised as in _mpc8xx_allocBd there > is this code: > > if ((bd < QUICC_BD_BASE) || (bd > QUICC_BD_END)) { > // Most likely not set up - make a guess :-( > bd = *nextBd = QUICC_BD_BASE+0x400; > } > > I guess this is starting 0x400 into the DPRAM so that an apllication > doesn't reuse any DPRAM used by redboot? Is this correct? I can find > where redboot ever initialises this memory so I can't see how it works. > > Any help in understanding this is much appreciated. Look about 10 lines below the "static short" line you quoted :-) This value gets set when the CPM has been reset. The point is to keep track [minimally] of what DPRAM is in use and, yes, one wants applications to know and respect the allocations that RedBoot has already made. The choice was just an unused place in memory. This region of memory already holds similar data that is shared between RedBoot and applications. -- ------------------------------------------------------------ Gary Thomas | Consulting for the MLB Associates | Embedded world ------------------------------------------------------------ -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss