Lots of memory on 826x
Matt Porter
mporter at kernel.crashing.org
Wed Mar 9 10:30:01 EST 2005
On Tue, Mar 08, 2005 at 05:20:38PM -0600, Rune Torgersen wrote:
> > -----Original Message-----
> > From: Kumar Gala [mailto:kumar.gala at freescale.com]
> > Sent: Tuesday, March 08, 2005 17:14
> > To: Rune Torgersen
> > Cc: linuxppc-embedded at ozlabs.org; Matt Porter
> > Subject: Re: Lots of memory on 826x
> >
> > 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.
>
> Yep noticed..... (tried changing it...)
Yeah, sorry, got busy and couldn't reply to say, "don't do that!". :)
> > Is there an issue with moving the IMMR virt address up higher?
> Not really. Will have to redo a whole lot of address maps for some
> external devices, but not too bad...
>
> I did change the kernel start address, and that seems to work better,
> except that things is still broken when CONFIG_HIGHMEM is set
> When that option is set, it maps the highmem to 0xFE000000, which is in
> the IO area mapped for IMMR and other memory mapped devices.
> (0xF0000000-0xFFFFFFFF)
>
> This can be changed by CONFIG_HIGHMEM_START. Any good ideas on where to
> move it to?
>
> (Maybe change IMMR/IO to 0xF8000000 and up, and set HIGHMEM_START to
> 0xF0000000?)
Ahh, but early ioremaps (before mm is inited) grow down from PKMAP_BASE,
so you will be overlapping the top of lowmem with those allocations.
It wants to be above vmalloc space. Set HIGHMEM_START to 0xF6000000,
IMMR/IO to 0xF8000000 and you then have vmalloc space between
0xF1000000-0xF5FFFFFF.
-Matt
More information about the Linuxppc-embedded
mailing list