From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Przywara Date: Wed, 29 Mar 2017 15:54:10 +0100 Subject: [U-Boot] [linux-sunxi] [PATCH 06/17] tools: mksunxiboot: allow larger SPL binaries In-Reply-To: <91845044-291f-05ad-ce2a-4b2c9beed156@schinagl.nl> References: <1488335129-12363-1-git-send-email-andre.przywara@arm.com> <1488335129-12363-7-git-send-email-andre.przywara@arm.com> <91845044-291f-05ad-ce2a-4b2c9beed156@schinagl.nl> Message-ID: <9f8d3373-64e9-6f84-cd86-c3a3b312d776@arm.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 >> --- >> 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)) >> >> /* >>