linux-mips-fnet
[Top] [All Lists]

Re: Discontinuous memory!!

To: Green <greeen@iii.org.tw>
Subject: Re: Discontinuous memory!!
From: Ralf Baechle <ralf@uni-koblenz.de>
Date: Thu, 1 Nov 2001 02:06:32 +0100
Cc: LinuxEmbeddedMailList <linux-embedded@waste.org>, LinuxKernelMailList <linux-kernel@vger.kernel.org>, MipsMailList <linux-mips@fnet.fr>, linux-mips@oss.sgi.com
In-reply-to: <00c701c1612b$4c133620$4c0c5c8c@trd.iii.org.tw>; from greeen@iii.org.tw on Tue, Oct 30, 2001 at 06:11:43PM +0800
References: <00c701c1612b$4c133620$4c0c5c8c@trd.iii.org.tw>
User-agent: Mutt/1.2.5i
On Tue, Oct 30, 2001 at 06:11:43PM +0800, Green wrote:

> I am porting Linux to R3912. 
> 
> There are two memory block on my target board. 
> 
> One is 16MB                  from 0x8000 0000 to 0x8100 0000.
> 
> The other one is 16MB   from 0x8200 0000 to 0x8300 0000.
> 
> But I found kernel just managed the first memory block.
> 
> How could I modify the kernel to support 32MB discontinuous memory?
> 
> Now I am trying to add entries to page table.
> It will halt at decompressing ramdisk.
> 
> Has anyone resolve this kind of problem before?

The kernel support this type of memory architecture if you enable
CONFIG_DISCONTIGMEM.  One machine which uses this feature is the Origin,
grep in arch/mips64 for CONFIG_DISCONTIGMEM.  There are also several
ARM system using it.

As support for CONFIG_DISCONTIGMEM is less than perfect you should check
if your system allows for reconfiguration of memory as a single physically
contiguous chunk.

Don't use add_memory_region() in this case; that code only works well
for small holes in memory address space.  Your holes are fairly large
so memory management would waste about 2mb if you would not use
CONFIG_DISCONTIGMEM.

  Ralf

<Prev in Thread] Current Thread [Next in Thread>
  • Re: Discontinuous memory!!, Ralf Baechle <=