[U-Boot] [PATCH v1] e300: increase CONFIG_SYS_BOOTMAPSZ to allow booting large kernels

Kim Phillips kim.phillips at freescale.com
Wed Sep 22 22:58:55 CEST 2010


On Fri, 10 Sep 2010 15:42:32 -0700
"Ira W. Snyder" <iws at ovro.caltech.edu> wrote:

> Newer Linux kernels can overrun the initial memory window used for
> booting with their BSS area. When this happens, they overwrite the FDT
> and silently fail to boot.
> 
> On e300 CPUs, the Linux kernel uses an initial BAT covering the first
> 256MB of RAM. See arch/powerpc/kernel/head_32.S for details. Increase
> the value of CONFIG_SYS_BOOTMAPSZ to accommodate the maximum value
> allowed by Linux. This will allow very large kernels to boot.
> 
> Signed-off-by: Ira W. Snyder <iws at ovro.caltech.edu>
> ---
> 
> Wolfgang,
> 
> I did both mpc83xx and mpc51xx (CONFIG_E300) at the same time. There
> were fewer boards than I expected. A quick read through head_fsl_booke.S
> shows that CONFIG_E500 could be increased to 64MB. I'll leave that to
> that arch's maintainer. They have already increased theirs to 16MB,
> after finding this problem.
> 
> This patch doesn't attempt to add support for actually loading a kernel
> larger than 8MB uncompressed (code + data, but not bss). That would mean
> adding #define CONFIG_SYS_BOOTM_LEN SOME_VALUE_GREATER_THAN_8MB.
> 
> This boots up fine on my MPC8349EMDS.
> 
> Thanks,
> Ira
> 
>  include/configs/MPC8308RDB.h  |    4 ++--
>  include/configs/MPC8313ERDB.h |    4 ++--
>  include/configs/MPC8315ERDB.h |    4 ++--
>  include/configs/MPC8323ERDB.h |    4 ++--
>  include/configs/MPC832XEMDS.h |    4 ++--
>  include/configs/MPC8349EMDS.h |    4 ++--
>  include/configs/MPC8349ITX.h  |    4 ++--
>  include/configs/MPC8360EMDS.h |    4 ++--
>  include/configs/MPC8360ERDK.h |    4 ++--
>  include/configs/MPC837XEMDS.h |    4 ++--
>  include/configs/MPC837XERDB.h |    4 ++--
>  include/configs/MVBLM7.h      |    4 ++--
>  include/configs/SIMPC8313.h   |    4 ++--
>  include/configs/TQM834x.h     |    4 ++--
>  include/configs/aria.h        |    4 ++--
>  include/configs/kmeter1.h     |    4 ++--
>  include/configs/mecp5123.h    |    4 ++--
>  include/configs/mpc5121ads.h  |    4 ++--
>  include/configs/pdm360ng.h    |    4 ++--
>  include/configs/sbc8349.h     |    4 ++--
>  include/configs/ve8313.h      |    4 ++--
>  include/configs/vme8349.h     |    4 ++--
>  22 files changed, 44 insertions(+), 44 deletions(-)

applied to u-boot-mpc83xx/next.  Wolfgang, hope you don't mind.

Thanks,

Kim



More information about the U-Boot mailing list