[PATCH v6 0/3] Static initcalls

Fabio Estevam festevam at gmail.com
Fri Jul 4 04:34:29 CEST 2025


Adding Tom.

On Thu, Jul 3, 2025 at 11:33 PM Fabio Estevam <festevam at gmail.com> wrote:
>
> Hi Jerome and Tom,
>
> On Fri, Apr 4, 2025 at 10:51 AM Jerome Forissier
> <jerome.forissier at linaro.org> wrote:
> >
> > This series replaces the dynamic initcalls (with function pointers) with
> > static calls, and gets rid of initcall_run_list(), init_sequence_f,
> > init_sequence_f_r and init_sequence_r. This makes the code simpler and the
> > binary slighlty smaller: -2281 bytes/-0.21 % with LTO enabled and -510
> > bytes/-0.05 % with LTO disabled (xilinx_zynqmp_kria_defconfig).
> >
> > Execution time doesn't seem to change noticeably. There is no impact on
> > the SPL.
> >
> > The inline assembly fixes, although they look unrelated, are triggered
> > on some platforms with LTO enabled. For example: kirkwood_defconfig.
> >
> > CI: https://source.denx.de/u-boot/custodians/u-boot-net/-/pipelines/25514
> >
> > Changes in v6:
> > - Rebase on next branch
>
> This series breaks the boot on an imx6dl sabresd board (mx6sabresd_defconfig):
>
> U-Boot SPL 2025.04-01075-g3c9c3d852e00 (Jul 03 2025 - 23:23:12 -0300)
> Trying to boot from MMC1
>
> (Hangs here)
>
> I ran a git bisect from 2025.04 to master, and that was the result:
>
> 8c98b57d72d5e5b94ed064fe1041e51216165334 is the first bad commit
> commit 8c98b57d72d5e5b94ed064fe1041e51216165334
> Merge: 739ad58dbee8 bbee3d41b33f
> Author: Tom Rini <trini at konsulko.com>
> Date:   Mon Apr 14 08:59:45 2025 -0600
>
>     Merge patch series "Static initcalls"
>
>     Jerome Forissier <jerome.forissier at linaro.org> says:
>
>     This series replaces the dynamic initcalls (with function pointers) with
>     static calls, and gets rid of initcall_run_list(), init_sequence_f,
>     init_sequence_f_r and init_sequence_r. This makes the code simpler and the
>     binary slighlty smaller: -2281 bytes/-0.21 % with LTO enabled and -510
>     bytes/-0.05 % with LTO disabled (xilinx_zynqmp_kria_defconfig).
>
>     Execution time doesn't seem to change noticeably. There is no impact on
>     the SPL.
>
>     The inline assembly fixes, although they look unrelated, are triggered
>     on some platforms with LTO enabled. For example: kirkwood_defconfig.
>
>     CI: https://source.denx.de/u-boot/custodians/u-boot-net/-/pipelines/25514
>
>     Link: https://lore.kernel.org/r/20250404135038.2134570-1-jerome.forissier@linaro.org
>
>  arch/arm/include/asm/system.h             |  22 ++-
>  arch/arm/lib/cache.c                      |   5 +-
>  arch/arm/mach-kirkwood/include/mach/cpu.h |   9 +-
>  arch/sh/lib/board.c                       |   9 +-
>  common/board_f.c                          | 223 ++++++++++++++-------------
>  common/board_r.c                          | 247 +++++++++++++++---------------
>  include/initcall.h                        |  49 +++---
>  lib/Makefile                              |   1 -
>  lib/initcall.c                            | 102 ------------
>  test/py/tests/test_trace.py               |   8 +-
>  10 files changed, 297 insertions(+), 378 deletions(-)
>  delete mode 100644 lib/initcall.c
>
> Any ideas?
>
> Thanks


More information about the U-Boot mailing list