[U-Boot] [PATCH v2] spl: add overall SPL size check

Tom Rini trini at konsulko.com
Mon Apr 22 21:10:10 UTC 2019


On Mon, Apr 22, 2019 at 10:27:21PM +0200, Simon Goldschmidt wrote:
> This adds a size check for SPL that can dynamically check generated
> SPL binaries (including devicetree) for a size limit that ensures
> this image plus global data, heap and stack fit in initial SRAM.
> 
> Since some of these sizes are not available to make, a new host tool
> 'spl_size_limit' is added that dumps the resulting maximum size for
> an SPL binary to stdout. This tool is used in toplevel Makefile to
> implement the size check on SPL binaries.
> 
> Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt at gmail.com>
> ---
> 
> Changes in v2:
> - added missing tools/spl_size_limit.c
> 
>  Kconfig                |  8 --------
>  Makefile               |  2 +-
>  common/spl/Kconfig     | 36 ++++++++++++++++++++++++++++++++++++
>  tools/Makefile         |  2 ++
>  tools/spl_size_limit.c | 30 ++++++++++++++++++++++++++++++

Ah, now I get it, and why you said you depend on Heinrich's series now,
OK.  This isn't quite what I envisioned, but, maybe that's OK.  I was
thinking we could drop the whole of the shell function, stat() the file
and return 0/error.  But I guess on the whole we've got the shell
function portable and not too fragile looking, so maybe it's not worth
the extra work there.

I do have one problem I'd like to discuss, which is that to replicate
this for a TPL size limit (which we totally have and need to deal with),
we cp and sed spl_size_limit.c to tpl_size_limit.c.

I don't however see a clever way to avoid that.  CONFIG_IS_ENABLED()
would let us have the same #if test, but doing
size_limit -= CONFIG_SPL_FOO CONFIG_TPL_FOO;
is probably getting too clever.

Thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20190422/6591b7b2/attachment.sig>


More information about the U-Boot mailing list