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

Ira W. Snyder iws at ovro.caltech.edu
Fri Sep 17 20:45:49 CEST 2010


On Fri, Sep 10, 2010 at 03:42:32PM -0700, Ira W. Snyder 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.
> 

Sorry about forgetting to CC maintainers before. I've added the 83xx and
5xxx maintainers, Kim and Wolfgang respectively. Is there anything I
should do to help this patch into mainline. I haven't heard anything for
about a week.

Thanks,
Ira


More information about the U-Boot mailing list