[U-Boot] [PATCH] arm: socfpga: provide default SPL_SIZE_LIMIT for gen5
Marek Vasut
marex at denx.de
Fri Jun 14 10:42:04 UTC 2019
On 6/14/19 8:57 AM, Simon Goldschmidt wrote:
>
>
> Marek Vasut <marex at denx.de <mailto:marex at denx.de>> schrieb am Do., 13.
> Juni 2019, 23:08:
>
> On 6/13/19 11:00 PM, Simon Goldschmidt wrote:
> >
> >
> > Marek Vasut <marex at denx.de <mailto:marex at denx.de>
> <mailto:marex at denx.de <mailto:marex at denx.de>>> schrieb am Do., 13.
> > Juni 2019, 22:56:
> >
> > On 6/13/19 10:55 PM, Simon Goldschmidt wrote:
> > >
> > >
> > > Marek Vasut <marex at denx.de <mailto:marex at denx.de>
> <mailto:marex at denx.de <mailto:marex at denx.de>>
> > <mailto:marex at denx.de <mailto:marex at denx.de>
> <mailto:marex at denx.de <mailto:marex at denx.de>>>> schrieb am Do., 13.
> > > Juni 2019, 22:40:
> > >
> > > On 6/13/19 10:26 PM, Simon Goldschmidt wrote:
> > > >
> > > >
> > > > On 13.06.19 22:14, Marek Vasut wrote:
> > > >> On 6/13/19 9:50 PM, Simon Goldschmidt wrote:
> > > >>> This provides an SPL_SIZE_LIMIT that makes the build
> check
> > that
> > > the SPL
> > > >>> binary loaded from flash fits into the SRAM (64 KiB) and
> > leaves
> > > enough
> > > >>> room for global data, heap and stack (512 bytes
> assumed stack
> > > usage).
> > > >>>
> > > >>> Signed-off-by: Simon Goldschmidt
> > > <simon.k.r.goldschmidt at gmail.com
> <mailto:simon.k.r.goldschmidt at gmail.com>
> > <mailto:simon.k.r.goldschmidt at gmail.com
> <mailto:simon.k.r.goldschmidt at gmail.com>>
> > > <mailto:simon.k.r.goldschmidt at gmail.com
> <mailto:simon.k.r.goldschmidt at gmail.com>
> > <mailto:simon.k.r.goldschmidt at gmail.com
> <mailto:simon.k.r.goldschmidt at gmail.com>>>>
> > > >>> ---
> > > >>>
> > > >>> arch/arm/mach-socfpga/Kconfig | 8 ++++++++
> > > >>> 1 file changed, 8 insertions(+)
> > > >>>
> > > >>> diff --git a/arch/arm/mach-socfpga/Kconfig
> > > >>> b/arch/arm/mach-socfpga/Kconfig
> > > >>> index 48f02f08d4..1d914648e3 100644
> > > >>> --- a/arch/arm/mach-socfpga/Kconfig
> > > >>> +++ b/arch/arm/mach-socfpga/Kconfig
> > > >>> @@ -3,6 +3,12 @@ if ARCH_SOCFPGA
> > > >>> config NR_DRAM_BANKS
> > > >>> default 1
> > > >>> +config SPL_SIZE_LIMIT
> > > >>> + default 65536 if TARGET_SOCFPGA_GEN5
> > > >>> +
> > > >>> +config SPL_SIZE_LIMIT_PROVIDE_STACK
> > > >>> + default 0x200 if TARGET_SOCFPGA_GEN5
> > > >>> +
> > > >>> config SPL_STACK_R_ADDR
> > > >>> default 0x00800000 if TARGET_SOCFPGA_GEN5
> > > >>> @@ -49,6 +55,8 @@ config TARGET_SOCFPGA_GEN5
> > > >>> bool
> > > >>> select SPL_ALTERA_SDRAM
> > > >>> imply FPGA_SOCFPGA
> > > >>> + imply SPL_SIZE_LIMIT_SUBTRACT_GD
> > > >>> + imply SPL_SIZE_LIMIT_SUBTRACT_MALLOC
> > > >>> imply SPL_STACK_R
> > > >>> imply SPL_SYS_MALLOC_SIMPLE
> > > >>> imply USE_TINY_PRINTF
> > > >>>
> > > >> 512 bytes for stack looks like it's too little. I
> think the SPL
> > > started
> > > >> misbehaving when it overgrew 50 kiB, no ?
> > > >
> > > > To 1: Well, I tested the stack usage once, booting from
> > eMMC, and was
> > > > somewhere below that range. But yes, it's a problem
> for the
> > > future: once
> > > > we get a more stack-consuming function, we might be lost.
> > Which size
> > > > would you suggest?
> > >
> > > Hmmm, now that I think about it, the stack gets relocated to
> > DRAM quite
> > > early too, right ? So maybe we really don't need that much
> > space for
> > > stack.
> > >
> > >
> > > Exactly. The only stack-consuming things before relocation
> are dts
> > > parsing and maybe the ddr driver. I implemented a stack
> usage check by
> > > filling the memory with 0xaa and checking it afterwards and if I
> > > remember correctly it resulted in about 400 bytes. It's even
> more or
> > > less independent of the boot type since the ski/mmc drivers
> are probed
> > > only after DDR is up. Same goes for file systems.
> > >
> > > Nevertheless, stack usage can increase in the future. That's why
> > I'm not
> > > too happy about this constant. Otoh, DM_CLK makes me need every
> > byte and
> > > right now I don't see how I can enable secure boot (fit
> signature
> > check)
> > > due to this size limit...
> >
> > Maybe before we add more bloat, we should consider how to trim
> the bloat
> > down first ?
> >
> >
> > One of the reasons why I haven't sent the clk driver patches yet.
> >
> > Anyway, I'll be off for at least a week now, I just wanted to get this
> > one in before the release.
>
> So is 0x200 bytes for stack before SPL relocs the stack enough ?
>
>
> For now it's enough, yes.
OK, applied.
--
Best regards,
Marek Vasut
More information about the U-Boot
mailing list