Re: memory on ARM

hong zhang <[email protected]> Fri, 28 Jan 2011 22:05:57 -0800 (PST)
Newsgroups gmane.linux.ports.arm.general
Message-ID <[email protected]>
> > 
> > My TI board has two memory ports at 0x80000000 and
> 0xC0000000.
> > 1024Mbytes DDR2 connects at port 0x80000000 and
> nothing at 0xC000000.
> > I assume Linux should not count any thing if
> 128M@0xC000000 in kernel
> > command line. 
> 
> Linux does not test the presence of memory.  That's
> the job of the boot
> loader to report to the kernel where memory actually is.
> 
> If you tell it that there's memory present it will try to
> use it.  The
> command line overrides what the boot loader tells the
> kernel because
> it is assumed that whoever created the command line knows
> what they're
> doing.
> 
> > Problems:
> > 
> > 1. Boot log ignores 128M@0xC000000, but total memory
> is Memory: "1102MB =  
> >    1102MB total NOT 1024M". 
> 
> That's because you've told it that there's 1024M + 128M,
> and it's claimed
> 50MB from that for VRAM.

But kernel says ignoring 128M@0xC0000000. That means kernel knows physical memory 128M@0xC0000000 is not presented and ignores it. Therefore, total memory should not count it. But it does.

> > 2. Truncating RAM at 80000000-bfffffff to -afffffff
> (vmalloc region 
> >    overlap). It says it only gets 768M NOT
> 124M.
> 
> Correct.  You can't fill memory completely as that
> leaves no space for
> other purposes - such as mapping devices.  If you want
> to use that
> additional memory you need to turn on highmem support.
>