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