[U-Boot] am335x_evm SPL no longer fits

Jonathan Gray jsg at jsg.id.au
Tue Sep 24 06:58:48 UTC 2019


As of v2019.10-rc3 am335x_evm builds fail here as SPL doesn't fit.

v2019.10-rc2 builds.
v2019.10-rc4 still fails:

  LD      spl/u-boot-spl
arm-none-eabi-ld.bfd: u-boot-spl section `.u_boot_list' will not fit in region `.sram'
arm-none-eabi-ld.bfd: region `.sram' overflowed by 100 bytes

I bisected this to the below commit but reverting it only slightly helps

arm-none-eabi-ld.bfd: u-boot-spl section `.u_boot_list' will not fit in region `.sram'
arm-none-eabi-ld.bfd: region `.sram' overflowed by 72 bytes

Building with gcc-linaro-6.3.2017.02 and binutils-2.27

b83edfbde9a845d47a2766f4677deb336abfa42a is the first bad commit
commit b83edfbde9a845d47a2766f4677deb336abfa42a
Author: Lukas Auer <lukas.auer at aisec.fraunhofer.de>
Date:   Wed Aug 21 21:14:42 2019 +0200

    spl: fit: use U-Boot device tree when FIT image has no device tree
    
    As part of the SPL FIT boot flow, the device tree is appended to U-Boot
    proper. The device tree is used to record information on the loadables
    to make them available to the SPL framework and U-Boot proper. Depending
    on the U-Boot device tree provider, the FIT image might not include a
    device tree. Information on the loadables is missing in this case.
    
    When booting via firmware bundled with the FIT image, U-Boot SPL loads
    the firmware binary and U-Boot proper before starting the firmware. The
    firmware, in turn, is responsible for starting U-Boot proper.
    Information on the memory location of the U-Boot proper loadable must be
    available to the SPL framework so that it can be passed to the firmware
    binary. To support this use case when no device tree is found in the FIT
    image, fall back to the U-Boot device tree in this situation.
    
    At the same time, update the comment to remove the note that the
    destination address must be aligned to ARCH_DMA_MINALIGN. Alignment is
    only required as an intermediate step when reading external data. This
    is automatically handled by spl_fit_append_fdt(). After reading the
    external data, it is copied to the specified address, which does not
    have to be aligned to ARCH_DMA_MINALIGN.
    
    Signed-off-by: Lukas Auer <lukas.auer at aisec.fraunhofer.de>
    Reviewed-by: Bin Meng <bmeng.cn at gmail.com>
    Tested-by: Bin Meng <bmeng.cn at gmail.com>
    Reviewed-by: Anup Patel <anup.patel at wdc.com>

 common/spl/spl_fit.c | 37 ++++++++++++++++++++++++-------------
 1 file changed, 24 insertions(+), 13 deletions(-)


More information about the U-Boot mailing list