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

Andre Przywara andre.przywara at arm.com
Wed Mar 29 14:54:10 UTC 2017


Hi Olliver,

thanks for having a look.

On 29/03/17 15:43, Olliver Schinagl wrote:
> 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,

It is indeed (that's why I moved the SPL stack away in a later patch),
but we really need it.

> but besides that, you need to rename the
> define to SUNXI imo too then.

OK.

> 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).

What my admittedly clumsy comment wanted to say is that U-Boot's linker
script puts the 24K limit in place for those SoCs already. So we fail
much earlier, so at least from a U-Boot point of view this is fine.

> 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?

Frankly I didn't want to tinker with mksunxiboot too much, especially
since I added mksunxiboot's functionality already to mkimage (in a local
branch here).
But this is a separate series and I wanted to not hold this series back
any longer.

Cheers,
Andre.

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


More information about the U-Boot mailing list