This is the mail archive of the ecos-patches@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: EDB7312 - Linux booting


On Fri, 2003-02-07 at 08:51, Mark Salter wrote:
> >>>>> Gary Thomas writes:
> 
> > On Fri, 2003-02-07 at 04:04, Jonathan Larmour wrote:
> >> Gary Thomas wrote:
> >> > Index: hal/arm/arch/current/src/redboot_linux_exec.c
> >> [snip]
> >> > -    params->u.mem.start = CYGARC_PHYSICAL_ADDRESS(CYGMEM_REGION_ram);
> >> >      /* Round up so there's only one bit set in the memory size.
> >> >       * Don't double it if it's already a power of two, though.
> >> >       */
> >> >      params->u.mem.size  = 1<<hal_msbindex(CYGMEM_REGION_ram_SIZE);
> >> >      if (params->u.mem.size < CYGMEM_REGION_ram_SIZE)
> >> >  	    params->u.mem.size <<= 1;
> >> > +    params->u.mem.start = CYGARC_PHYSICAL_ADDRESS(CYGMEM_REGION_ram);
> >> > +    // Linux doesn't like physical RAM to start on odd boundary 
> >> > +    params->u.mem.start &= ~(params->u.mem.size-1);
> >> 
> >> Excuse my ignorance, but why is this a power of two? Physical memory may 
> >> not be a power of two certainly.
> 
> > Ask Mark, he wrote this [I think] :-)
> 
> You can't pin this one on me! :)
> 
> 1.1          (jskov    25-Jan-02):     /* Round up so there's only one bit set in the memory size.
> 1.1          (jskov    25-Jan-02):      * Don't double it if it's already a power of two, though.
> 1.1          (jskov    25-Jan-02):      */
> 1.1          (jskov    25-Jan-02):     params->u.mem.size  = 1<<hal_msbindex(CYGMEM_REGION_ram_SIZE);
> 
> I think what happened was that Jesper copied this code from the original
> ipaq RedBoot code when he made it generic to all arm hals. But Jifl is
> right, not all platforms will have a power of 2 memory size.
> 

Forgive me (I didn't check, I just recalled - obviously incorrectly!)

-- 
------------------------------------------------------------
Gary Thomas                 |
MLB Associates              |  Consulting for the
+1 (970) 229-1963           |    Embedded world
http://www.mlbassoc.com/    |
email: <gary@mlbassoc.com>  |
gpg: http://www.chez-thomas.org/gary/gpg_key.asc
------------------------------------------------------------


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]