[U-Boot-Users] mpc8641d and CONFIG_VERY_BIG_RAM

Chris Fester cfester at iphase.com
Mon Feb 26 21:46:13 CET 2007


Hi all,

We're in the process of bringing up our custom board which has an
mpc8641d part on it.  I've been basing most of my u-boot code off of the
jdl git tree's MPC8641HPCN platform.  

In the file include/configs/MPC8641HPCN.h, CONFIG_VERY_BIG_RAM is set.
But I'd like to know why, or more specifically, what was the original
intent of this parameter.  Currently with my configuration it has the
effect of relocating u-boot just below 256MB, even though I have a gig
of memory on the board.  

If I undefine CONFIG_VERY_BIG_RAM, the effect is more of what we desire.
In particular, u-boot gets relocated to the very top of memory.  This
makes dram tests much easier to run, since we can run them with one big
range of memory, rather than having to split into two ranges.

After some greps of the code I see comments like this:

#define CONFIG_VERY_BIG_RAM	/* we will use up to 256M memory for cause
we are short of BATS*/

/* Define CONFIG_VERY_BIG_RAM to allow use of SDRAMs larger than
256MBytes

But what's interesting is the only place it seems to be used is in
lib_ppc/board.c:

#ifndef	CONFIG_VERY_BIG_RAM
	addr = CFG_SDRAM_BASE + gd->ram_size;
#else
	/* only allow stack below 256M */
	addr = CFG_SDRAM_BASE +
	       (gd->ram_size > 256 << 20) ? 256 << 20 : gd->ram_size;
#endif

Is the comment about the stack below 256M a historical one for older
cpus?  Or will I be facing problems later if my stack is higher than
that?

Thanks for any hints and/or insight!  :)
Chris




More information about the U-Boot mailing list