[PATCH v3 1/5] Image size checks: Move all configs in one place
Philip Oberfichtner
pro at denx.de
Fri Sep 5 10:13:36 CEST 2025
On Thu, Sep 04, 2025 at 03:54:54PM +0200, Marek Vasut wrote:
> On 9/4/25 10:12 AM, Philip Oberfichtner wrote:
> > On Wed, Sep 03, 2025 at 02:50:49PM +0200, Marek Vasut wrote:
> > > On 9/3/25 12:56 PM, Philip Oberfichtner wrote:
> > > > How image size limiting works in U-Boot should be easier to grasp if we
> > > > have all related options in one place.
> > > >
> > > > Signed-off-by: Philip Oberfichtner <pro at denx.de>
> > > > ---
> > > > Kconfig | 59 ++++++++++++++++++++++++++++++++++++++++++
> > > > common/spl/Kconfig | 38 ---------------------------
> > > > common/spl/Kconfig.tpl | 7 -----
> > > > common/spl/Kconfig.vpl | 7 -----
> > > > 4 files changed, 59 insertions(+), 52 deletions(-)
> > > >
> > > > diff --git a/Kconfig b/Kconfig
> > > > index 70125c4e5a6..f1a6be299e8 100644
> > > > --- a/Kconfig
> > > > +++ b/Kconfig
> > > > @@ -535,6 +535,8 @@ config BUILD_TARGET
> > > > special image will be automatically built upon calling
> > > > make / buildman.
> > > > +menu "Image size limits"
> > > > +
> > > > config HAS_BOARD_SIZE_LIMIT
> > > > bool "Define a maximum size for the U-Boot image"
> > > > depends on !COMPILE_TEST
> > > > @@ -554,6 +556,63 @@ config BOARD_SIZE_LIMIT
> > > > include SPL nor TPL, on platforms that use that functionality, they
> > > > have separate options to restrict size.
> > > > +config VPL_SIZE_LIMIT
> > > > + depends on VPL
> > > > + hex "Maximum size of VPL image"
> > > > + default 0x0
> > > > + help
> > > > + Specifies the maximum length of the U-Boot VPL image.
> > > > + If this value is zero, it is ignored.
> > > > +
> > > > +config TPL_SIZE_LIMIT
> > > > + depends on TPL
> > > > + hex "Maximum size of TPL image"
> > > > + default 0x0
> > > > + help
> > > > + Specifies the maximum length of the U-Boot TPL image.
> > > > + If this value is zero, it is ignored.
> > > The point of separate common/spl/Kconfig.tpl and common/spl/Kconfig.vpl
> > > files is to group SPL / TPL / VPL symbols in those files .
> >
> > There is "config TPL_" definitions literally all over the place. I think
> > there might actually even be more of them outside Kconfig.tpl than
> > inside.
>
> That does not make it OK to make that situation worse.
It doesn't. Someone who stumbles over BOARD_SIZE_LIMIT might be asking
himself, if there's an analogous option for SPL, too. It'll jump right
into his eyes, after this patch of mine.
And apparently there were other contributers before me who found it
reasonable to group strongly related options together within one menu,
instead of spreading them out over many different places. Let me give
you a few examples (and this list is by far not exhaustive):
Kconfig:
config SYS_MALLOC_F
config SPL_SYS_MALLOC_F
config TPL_SYS_MALLOC_F
config VPL_SYS_MALLOC_F
arch/Kconfig
menu "Skipping low level initialization functions"
config SKIP_LOWLEVEL_INIT
config SPL_SKIP_LOWLEVEL_INIT
config TPL_SKIP_LOWLEVEL_INIT
boot/Kconfig
menuconfig FIT
config SPL_FIT
config VPL_FIT
config TPL_FIT
common/Kconfig
menu "Logging"
config LOG
config SPL_LOG
config TPL_LOG
config VPL_LOG
dts/Kconfig
menu "Device Tree Control"
config OF_CONTROL
config SPL_OF_CONTROL
config TPL_OF_CONTROL
config VPL_OF_CONTROL
lib/Kconfig
menu "Compression Support"
config LZ4
config SPL_LZ4
config TPL_LZ4
config VPL_LZ4
So how do these and many other cases differ from the SIZE_LIMIT case
discussed here? Or would it be better to tear all those menus apart?
More information about the U-Boot
mailing list