Messages in this thread |  | | Date | Thu, 1 Nov 2001 02:06:32 +0100 | From | Ralf Baechle <> | Subject | Re: Discontinuous memory!! |
| |
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 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |