Lots of memory on 826x

Rune Torgersen runet at innovsys.com
Wed Mar 9 08:16:52 EST 2005


What about moving the VMALLOC_START and VMALLOC_END #defines to
something else (like start at 0x80000000 and end at 0xc0000000), or will
that break some assumptions in the kernel about the position of the
vmalloc area?

> -----Original Message-----
> From: Matt Porter [mailto:mporter at kernel.crashing.org] 
> Sent: Tuesday, March 08, 2005 14:33
> To: Rune Torgersen
> Cc: Kumar Gala; linuxppc-embedded at ozlabs.org
> Subject: Re: Lots of memory on 826x
> 
> On Tue, Mar 08, 2005 at 12:37:33PM -0600, Rune Torgersen wrote:
> > Ok... Got a little closer....
> > 
> > I have PCI (outbound) mapped in the area 0x80000000-0x8fffffff
> > (prefetch/non-prefetch and IO)
> > IMMR of cource is at 0xf0000000
> > 
> > So I map the IO as following:
> > 	/* Map IMMR region to a 256MB BAT */
> > 	addr = (cpm2_immr != NULL) ? (uint)cpm2_immr : CPM_MAP_ADDR;
> > 	io_block_mapping(addr, addr, 0x10000000, _PAGE_IO);
> > 
> > 	io_block_mapping(0x80000000, 0x80000000, 0x10000000, _PAGE_IO);
> > 
> > Now I can almost boot....:
> > It craches when trying to read from harddisk
> > (only happens with more than 512MB)
> 
> That's expected if you are going to 768MB. You have kernel lowmem
> being mapped at 0xc0000000+<size_of_system_memory>. With 768MB that
> takes you all the way to where you have the IMMR mapped 1:1 I
> guess. This leaves no room for vmalloc space.  With 768MB of ram
> the kernel will calculate VMALLOC_START at 0xf1000000 which is a
> problem.
> 
> A few options are:
> 
> * Move the IMMR much higher to allow vmalloc space
> * Modify maximum low memory to limit to 512MB using the advanced
>   options menu
> * Modify KERNELBASE to something like 0xa0000000 using the advanced
>   options menu
> 
> All of these methods will provide addition vmalloc space.
> 
> Don't forget to turn on HIGHMEM to use everything above MAX_LOW_MEM.
> 
> -Matt
> 
> 



More information about the Linuxppc-embedded mailing list