This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: Dual Port RAM on MPC8xx
On Wed, 2005-04-20 at 11:59 +0100, Will Wagner wrote:
> Thanks very much for that. Not sure how I missed it.
>
> In the alloc function instead of
>
> if ((bd < QUICC_BD_BASE) || (bd > QUICC_BD_END)) {
> // Most likely not set up - make a guess :-(
> bd = *nextBd = QUICC_BD_BASE+0x400;
> }
>
> Why not just check the reset has been called? Seems odd to need that guess?
>
This was to handle the case where you ran an application with an old
RedBoot and resetting the CPM would break existing I/O setups.
>
> Gary Thomas wrote:
> > 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