u-boot-brain/common/spl
Simon Goldschmidt d8c0332031 spl: implement stack usage check
This implements a stack usage check in SPL.

Many boards start up SPL to run code + data from one common, rather small
SRAM. To implement a sophisticated SPL binary size limit on such boards,
the stack size (as well as malloc size and global data size) must be
subtracted from this SRAM size.

However, to do that properly, the stack size first needs to be known.

This patch adds a new Kconfig option:
- SPL_SYS_REPORT_STACK_F_USAGE: memset(0xaa) the whole area of the stack
  very early and check stack usage based on this constant later before the
  stack is switched to DRAM

Initializing the stack and checking it is implemented in weak functions,
in case a board does not use the stack as saved in gd->start_addr_sp.

Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
2019-08-11 16:43:41 -04:00
..
Kconfig spl: implement stack usage check 2019-08-11 16:43:41 -04:00
Makefile usb: Rename SPL_USB_SUPPORT to SPL_USB_STORAGE 2019-02-15 22:01:15 +01:00
spl_atf.c spl: atf: Fix uninitialized pointer to bl31_image_info 2019-07-02 10:30:02 +08:00
spl_bootrom.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
spl_dfu.c spl: dfu: Fix printed variable name 2019-06-14 12:39:50 +02:00
spl_ext.c spl: Weed out CONFIG_SYS_TEXT_BASE usage 2018-09-25 21:48:43 -04:00
spl_fat.c spl: Weed out CONFIG_SYS_TEXT_BASE usage 2018-09-25 21:48:43 -04:00
spl_fit.c spl: Make image loader infrastructure more universal 2019-07-17 11:12:54 -04:00
spl_mmc.c spl: Make image loader infrastructure more universal 2019-07-17 11:12:54 -04:00
spl_nand.c spl: spl_nand.c: Add NAND loading message 2019-04-23 17:57:27 -04:00
spl_net.c spl: net: dm: usb: bind the gadget before attempting to load the image 2018-12-14 17:59:09 +01:00
spl_nor.c spl: nor: Skip CONFIG_SYS_FDT_BASE if not defined 2018-07-19 16:20:13 -04:00
spl_onenand.c spl: Weed out CONFIG_SYS_TEXT_BASE usage 2018-09-25 21:48:43 -04:00
spl_optee.S Rockchip-focused changes for v2018.11-rc2: 2018-10-05 13:40:42 -04:00
spl_ram.c spl: Kconfig: Drop the _SUPPORT postfix from SPL_DFU 2019-01-26 08:13:54 -05:00
spl_sata.c spl: sata: support U-Boot load from raw sata disk 2019-07-24 14:15:36 -04:00
spl_sdp.c Fixes for 2019.07 2019-06-28 08:00:22 -04:00
spl_spi.c dm: spi: Read default speed and mode values from DT 2019-04-12 11:54:50 +05:30
spl_ubi.c ubispl: add support for loading volumes by name 2019-07-09 07:00:25 +02:00
spl_usb.c usb: Rename SPL_USB_SUPPORT to SPL_USB_STORAGE 2019-02-15 22:01:15 +01:00
spl_xip.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
spl_ymodem.c spl: ymodem: Add support for loading full fitImages 2019-04-22 18:13:23 -04:00
spl.c spl: implement stack usage check 2019-08-11 16:43:41 -04:00