Mapping full 1 GB of memory on a Freescale Book E part

Kylo Ginsberg kylo.ginsberg at gmail.com
Fri Jun 10 09:25:39 EST 2005


On 6/9/05, Kumar Gala <kumar.gala at freescale.com> wrote:
> 
> On Jun 9, 2005, at 5:09 PM, Kylo Ginsberg wrote:
> > I've modified fsl_booke_mmu.c to use a 4th TLB, thus mapping the full
> > 1 GB of memory.  However, I'm new to linux memory management, so I'd
> > appreciate any comments as to whether there are tradeoffs or dangers
> > here that I am missing.
> 
> There is a danger here in that you have left no virtual address space
> for the kernel.  Since KERNEL_BASE is normally 0xc000_0000 + 1G ends up
> a the end of memory.  There for any devices that need virtual memory
> space would not have any to map out of.  I'm kinda amazed this works at
> all.  I'd be interested in seeing what a boot log looks like for this
> config.

Sorry, should have mentioned this in the first post.  I dropped
KERNEL_BASE to 0xa0000000 and upped LOWMEM_SIZE to 0x40000000.  So the
Advanced Setup portion of my .config reads:

#
# Advanced setup
#
CONFIG_ADVANCED_OPTIONS=y
CONFIG_HIGHMEM_START=0xfe000000
CONFIG_LOWMEM_SIZE_BOOL=y
CONFIG_LOWMEM_SIZE=0x40000000
CONFIG_KERNEL_START_BOOL=y
CONFIG_KERNEL_START=0xa0000000
# CONFIG_TASK_SIZE_BOOL is not set
CONFIG_TASK_SIZE=0x80000000
# CONFIG_BOOT_LOAD_BOOL is not set
CONFIG_BOOT_LOAD=0x00800000

and under Platform Options:

# CONFIG_HIGHMEM is not set

> The way to handle this is by enabling HIGHMEM support in the kernel or
> dropping the KERNEL_START in the config.  I'm haven't ever tried to
> drop KERNEL_START so your milage may very on what if anything that will
> break.

So, an alternative would be to leave fsl_booke_mmu.c untouched, revert
my KERNEL_START/LOWMEM mods, and instead enable HIGHMEM?  Setting
HIGHMEM_START to ...? Will that entail more TLB thrashing?

Kylo



More information about the Linuxppc-embedded mailing list