Lots of memory on 826x

Kumar Gala kumar.gala at freescale.com
Wed Mar 9 10:13:57 EST 2005


Hmm, I think there is an expectation that virt->phys is a simple 
translation (ie, subtract KERNELBASE) for lowmem.  lowmem most parts 
tops out at 768M.  So changing VMALLOC_START would break that.

Is there an issue with moving the IMMR virt address up higher?

- kumar

On Mar 8, 2005, at 3:16 PM, Rune Torgersen wrote:

> 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