Re: [PATCH v2 05/19] ARM: turn CONFIG_ATAGS off by default

Geert Uytterhoeven <[email protected]> Tue, 14 Jul 2026 16:52:42 +0200
Newsgroups dev.linux.lists.soc,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-kernel
Message-ID <CAMuHMdVKcyA6YVR8MRAF=uQFiF73Mbnhh0f8jei82_Ev41BVog@mail.gmail.com>
Hi Arnd,

On Wed, 1 Jul 2026 at 23:29, Arnd Bergmann <[email protected]> wrote:
> From: Arnd Bergmann <[email protected]>
>
> Only a very small number of machines remain that rely on
> traditional board files with the ATAGS boot data instead
> of devicetree, and we have not accepted new ones for
> a decade.
>
> Most of the remaining ones are on their way out of the
> kernel, but the Kconfig option that controls ATAGS
> is still enabled by default.
>
> To reflect the actual status of ATAGS support and alert
> the remaining users of upstream and out-of-tree platforms
> with this, chanyge it to being default-disabled and
> add a dependency on CONFIG_EXPERT.
>
> The board specific defconfig files that rely on ATAGS
> are changed to turn on both EXPERT and ATAGS if they
> were not doing thath already, and the ones that explicitly
> turned it off before no longer need to.
>
> Acked-by: Linus Walleij <[email protected]>
> Signed-off-by: Arnd Bergmann <[email protected]>

Thanks for your patch, which is now commit 4d9226b820c165b7 ("ARM:
turn CONFIG_ATAGS off by default") in soc/for-next.

> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -1390,12 +1390,15 @@ config ARCH_WANT_FLAT_DTB_INSTALL
>
>  config ATAGS
>         bool "Support for the traditional ATAGS boot data passing"
> -       default y
> +       depends on EXPERT
>         help
> -         This is the traditional way of passing data to the kernel at boot
> -         time. If you are solely relying on the flattened device tree (or
> -         the ARM_ATAG_DTB_COMPAT option) then you may unselect this option
> -         to remove ATAGS support from your kernel binary.
> +         This is the traditional way of passing data to the kernel at
> +         boot but is now only used by a few of the oldest ARMv4 and
> +         ARMv5 machines.  Users that still rely on ATAGS should plan
> +         on migrating to devicetree based booting.
> +
> +         Support for ATAGS will be removed when the last machine using
> +         it is either converted to DT or removed.
>
>  config DEPRECATED_PARAM_STRUCT
>         bool "Provide old way to pass kernel parameters"

I don't know how much of this is used by systems with old boot loaders
that use a combination of (appended) DT and ATAGS.

E.g. the old U-Boots on Marzen (R-Car H1) and KZM-A9-GT (SH-Mobile AG5)
rely on CONFIG_ARM_ATAG_DTB_COMPAT=y to pass the kernel command line,
and that still seems to work fine without ATAGS.

Note that to boot a proper multi-platform kernel on KZM-A9-GT, I still
need "[PATCH v2 1/2] ARM: decompressor: support memory start validation
for appended DTB"[1], which RMK doesn't like. That patch is so old
that I forgot how to make upstream boot on KZM-A9-GT without it...

Anyway, it looks like all my boards boot without CONFIG_ATAGS.
Thanks!

[1] https://lore.kernel.org/[email protected]/

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds