
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@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))
/*