On Thu, Oct 02, 2025 at 03:19:10PM -0600, Tom Rini wrote:
> On Thu, Oct 02, 2025 at 10:55:19AM +0200, Philip Oberfichtner wrote:
> > Hi Tom,
> > 
> > Thank you for the clarification.
> > 
> > On Tue, Sep 30, 2025 at 08:45:36AM -0600, Tom Rini wrote:
> > > On Tue, Sep 30, 2025 at 10:33:13AM +0200, Philip Oberfichtner wrote:
> > > > On Fri, Sep 05, 2025 at 08:19:59AM -0600, Tom Rini wrote:
> > > > > On Wed, Sep 03, 2025 at 12:56:50PM +0200, Philip Oberfichtner wrote:
> > > > > 
> > > > > > Use a consistent logic for image size checks. No functional change.
> > > > > > 
> > > > > > Before this commit, there were two concurrent approaches of how 
> > > > > > image
> > > > > > size checks are disabled: Whereas BOARD_SIZE_LIMIT was gated 
> > > > > > through a
> > > > > > dedicated Kconfig symbol to achieve this, all the other size checks 
> > > > > > were
> > > > > > disabled by assigning them a limit of zero bytes.
> > > > > > 
> > > > > > By this commit we achieve a consistent logic for size limiting, by
> > > > > > introducing CONFIG_HAS_XXX_SIZE_LIMIT for all those options that 
> > > > > > don't
> > > > > > have it yet.
> > > > > > 
> > > > > > Signed-off-by: Philip Oberfichtner <[email protected]>
> > > > <...>
> > > > > > diff --git a/arch/x86/cpu/apollolake/Kconfig 
> > > > > > b/arch/x86/cpu/apollolake/Kconfig
> > > > > > index 5dd866ffcfe..d70e8def36f 100644
> > > > > > --- a/arch/x86/cpu/apollolake/Kconfig
> > > > > > +++ b/arch/x86/cpu/apollolake/Kconfig
> > > > > > @@ -78,8 +78,11 @@ config MMCONF_BASE_ADDRESS
> > > > > >     hex
> > > > > >     default 0xe0000000
> > > > > >  
> > > > > > +config HAS_TPL_SIZE_LIMIT
> > > > > > +   default y
> > > > > > +
> > > > > >  config TPL_SIZE_LIMIT
> > > > > > -   default 0x7800
> > > > > > +   default 0x7800 if HAS_TPL_SIZE_LIMIT
> > > > > >  
> > > > > >  config CPU_ADDR_BITS
> > > > > >     default 39
> > > > > 
> > > > > These should be "default y if .." in the main Kconfig entry for the
> > > > > option.
> > > > 
> > > > Not sure if I'm following you here. So you mean both of the defaults
> > > > should be moved to common/spl/Kconfig.tpl? - like
> > > > 
> > > >         config HAS_TPL_SIZE_LIMIT
> > > >                 [...]
> > > >                 default y if INTEL_APOLLOLAKE
> > > > 
> > > > 
> > > >         config TPL_SIZE_LIMIT
> > > >                 [...]
> > > >                 default 0x7800 if INTEL_APOLLOLAKE
> > > 
> > > Yes, like that.
> > 
> > Ok.
> > 
> > > 
> > > > > > diff --git a/configs/am62ax_evm_r5_defconfig 
> > > > > > b/configs/am62ax_evm_r5_defconfig
> > > > > 
> > > > > The reset of these, to Marek's point, show that we need to also add
> > > > > "default y if .." for a number of other platforms too.
> > > > 
> > > > Which platforms exactly?
> > > 
> > > So the platforms today which have a default ..size.. if SOC should also
> > > be listed as default y if SOC, is that I was I believe getting at.
> > 
> > Yes, this part is already included as of now.
> > 
> > > 
> > > > > At least the ones
> > > > > where today we have default limits provided in Kconfig today.
> > > > 
> > > > Besides the ones handled above, i.e.
> > > >         arch/arm/mach-socfpga/Kconfig,
> > > >         arch/mips/mach-mtmips/Kconfig and
> > > >         arch/x86/cpu/apollolake/Kconfig,
> > > > 
> > > > there aren't any.
> > > > 
> > > > I myself am not very fond of changing that many defconfigs, but I still
> > > > don't see a way of avoiding it. I guess it would become more clear if
> > > > you concretely name a few examples.
> > > 
> > > So, part of the pattern is that we should take this from
> > > common/spl/Kconfig:
> > > config SPL_SIZE_LIMIT
> > >         hex "Maximum size of SPL image"
> > >         default 0x11000 if ARCH_MX6 && !MX6_OCRAM_256KB
> > >         default 0x31000 if ARCH_MX6 && MX6_OCRAM_256KB
> > >         default 0x30000 if ARCH_MVEBU && ARMADA_32BIT
> > >         default 0x0
> > >         help
> > >     ...
> > > And it becomes:
> > > 
> > > config HAS_SPL_SIZE_LIMIT
> > >   bool "Enforce a maximum size of the SPL image
> > >   default y if ARCH_MX6 || (ARCH_MVEBU && ARMADA_32BIT) || \
> > >           ARCH_K3
> > >   help
> > >     .. What we had talked about in earlier threads to be clear about what
> > >     .. is / isn't checked by this option.
> > > 
> > > config SPL_SIZE_LIMIT
> > >         hex "Maximum size of SPL image"
> > >   depends on HAS_SPL_SIZE_LIMIT
> > >         default 0x11000 if ARCH_MX6 && !MX6_OCRAM_256KB
> > >         default 0x31000 if ARCH_MX6 && MX6_OCRAM_256KB
> > >         default 0x30000 if ARCH_MVEBU && ARMADA_32BIT
> > >   help
> > >     ..
> > > 
> > 
> > Ok, I agree until here, but ...
> > 
> > 
> > > And note that I've added ARCH_K3 to the list here because from a quick 
> > > grep, TI
> > > K3 platforms also set SPL_SIZE_LIMIT and so with this, you won't have to 
> > > change
> > > all of those defconfigs as well.
> > 
> > concerning ARCH_K3 I do not yet agree:
> > 
> >     git grep -l ARCH_K3=y configs | wc -l
> > 
> > gives me 54 ARCH_K3 platforms. But only 24 of them use SPL_SIZE_LIMITs:
> > 
> >     git grep -l ARCH_K3=y configs | xargs grep -l SIZE_LIMIT | wc -l
> > 
> > 
> > So if I'm not mistaken, we cannot set default HAS_SPL_SIZE_LIMIT for
> > ARCH_K3.
> 
> Some of them use different limits.
> $ ./tools/qconfig.py -b
> ... wait
> $ ./tools/qconfig.py -f ~SPL_SIZE_LIMIT ARCH_K3
> 0 matches
> 
> So no platforms set ARCH_K3 and do not set SPL_SIZE_LIMIT.

I wasn't aware of the qconfig tool. Thanks for the hint. However,
SPL_SIZE_LIMIT is always defined:

        ./tools/qconfig.py ARCH_K3 SPL_SIZE_LIMIT=0x0
        23 matches

Tells us there are 23 boards not using SPL_SIZE_LIMITs.

Nevertheless I'll go ahead and try if "qconfig.py -i" gives us something
else which might work instead.

Best regards,
Philip

Reply via email to