[PATHv11 33/43] configs/am335x_evm_defconfig: inc SPL size

Peter Robinson pbrobinson at gmail.com
Mon Nov 27 16:52:50 CET 2023


On Mon, Nov 27, 2023 at 3:32 PM Maxim Uvarov <maxim.uvarov at linaro.org> wrote:
>
>
>
> On Mon, 27 Nov 2023 at 20:08, Tom Rini <trini at konsulko.com> wrote:
>>
>> On Mon, Nov 27, 2023 at 08:06:23PM +0600, Maxim Uvarov wrote:
>> > On Mon, 27 Nov 2023 at 19:08, Tom Rini <trini at konsulko.com> wrote:
>> >
>> > > On Mon, Nov 27, 2023 at 06:57:16PM +0600, Maxim Uvarov wrote:
>> > >
>> > > > Increase allowed binary size to fit lwip code.
>> > > >
>> > > > Signed-off-by: Maxim Uvarov <maxim.uvarov at linaro.org>
>> > > > ---
>> > > >  configs/am335x_evm_defconfig | 1 +
>> > > >  1 file changed, 1 insertion(+)
>> > > >
>> > > > diff --git a/configs/am335x_evm_defconfig b/configs/am335x_evm_defconfig
>> > > > index f048e60f7f..9fd608bd76 100644
>> > > > --- a/configs/am335x_evm_defconfig
>> > > > +++ b/configs/am335x_evm_defconfig
>> > > > @@ -124,3 +124,4 @@ CONFIG_WDT=y
>> > > >  CONFIG_DYNAMIC_CRC_TABLE=y
>> > > >  CONFIG_RSA=y
>> > > >  CONFIG_LZO=y
>> > > > +CONFIG_SPL_MAX_SIZE=0x29000
>> > >
>> > > As probably a problem for other platforms you made this change on too,
>> > > you can't do this. The link limit is here because that's the limit the
>> > > hardware (and ROM) imposes.
>> > >
>> > > You might need to either:
>> > > - Figure out how to make lwip even tinier for the SPL case
>> > > - Limit the old network stack to just for SPL, and a later task is to
>> > >   reduce what's in the old stack to just what's also needed within SPL.
>> > >
>> > >
>> > Thanks Tom. All these size changes need to be reviewed.  Some of them are
>> > ok, I think like for x86 or qemu virt, but some of them might not work.
>> >
>> > Question - Do we need networking inside SPL rather than in the main binary?
>> > Is it a real use case?
>>
>> Yes, the device supports loading SPL, and then SPL loading U-Boot both
>> over USB RNDIS as well as regular physical ethernet.
>>
>> --
>> Tom
>
>
> That looks like not a production use case. USB + NET + drivers + EXT4 + NAND + MTD and everything else and trying to fit into SPL.
> With enabling LTO I still need 4k (without dropping current code). From one point it's too synthetic use case here and might be a historical
> limitation which we will not see on future boards. From the other point it will be good to not break it somehow....

Does this still include the old network code?

Also I wonder if we can have a paired down SPL_LWIP option that
removes things like PXE and HTTP/wget because none of those would be
used in the SPL use case as they're all brand new.

Peter


More information about the U-Boot mailing list