memory on ARM

Russell King - ARM Linux linux at arm.linux.org.uk
Fri Jan 28 18:08:38 EST 2011


On Fri, Jan 28, 2011 at 02:36:38PM -0800, hong zhang wrote:
> List,
> 
> 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 at 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 at 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.

> 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.



More information about the linux-arm mailing list