[U-Boot] [linux-sunxi] [PATCH 06/17] tools: mksunxiboot: allow larger SPL binaries

Olliver Schinagl oliver+list at schinagl.nl
Wed Mar 29 14:43:14 UTC 2017


Hey Andre,

On 01-03-17 03:25, Andre Przywara wrote:
> mksunxiboot limits the size of the resulting SPL binaries to pretty
> conservative values to cover all SoCs and all boot media (NAND).
> It turns out that we have limit checks in place in the build process,
> so mksunxiboot can be relaxed and allow packaging binaries up to the
> actual 32KB the mask boot ROM actually imposes.
> This allows to have a bigger SPL, which is crucial for AArch64 builds.
>
> Signed-off-by: Andre Przywara <andre.przywara at arm.com>
> ---
>  tools/mksunxiboot.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/mksunxiboot.c b/tools/mksunxiboot.c
> index 0f0b003..6bb649c 100644
> --- a/tools/mksunxiboot.c
> +++ b/tools/mksunxiboot.c
> @@ -48,7 +48,7 @@ int gen_check_sum(struct boot_file_head *head_p)
>  #define ALIGN(x, a) __ALIGN_MASK((x), (typeof(x))(a)-1)
>  #define __ALIGN_MASK(x, mask) (((x)+(mask))&~(mask))
>
> -#define SUN4I_SRAM_SIZE 0x7600	/* 0x7748+ is used by BROM */
> +#define SUN4I_SRAM_SIZE 0x8000	/* SoC with smaller size are limited before */
This seems a little scary, but besides that, you need to rename the 
define to SUNXI imo too then.

SUN4I, SUN5I and SUN7I (I think) all have the 24K limit imposed by the 
BROM. Only the later gens have a 32k limit. Since it is nice to have a 
single binary for all, name the define as SUNXI too I think. As a 
comment, I would put the responsibility elsewhere (instead of making it 
an assumption).

With that said, why do we have to check it at all then, other then to 
give a warning? The size is limited before already, right?

Olliver
>  #define SRAM_LOAD_MAX_SIZE (SUN4I_SRAM_SIZE - sizeof(struct boot_file_head))
>
>  /*
>


More information about the U-Boot mailing list