All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Russell King (Oracle)" <linux@armlinux.org.uk>
To: "谢致邦 (XIE Zhibang)" <Yeking@red54.com>
Cc: ardb@kernel.org, bjorn.andersson@sonyericsson.com,
	dave@vasilevsky.ca, ebiggers@google.com,
	linus.walleij@linaro.org, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, liuyuntao12@huawei.com,
	lumag@kernel.org, masahiroy@kernel.org, nathan@kernel.org,
	nico@fluxnic.net, oskar.andero@sonyericsson.com,
	ruanjinjie@huawei.com, victor.boivie@sonyericsson.com,
	Max Uvarov <muvarov@gmail.com>, Rob Herring <robh@kernel.org>
Subject: Re: Re: [PATCH] ARM: Fix support for CMDLINE_EXTEND
Date: Mon, 31 Mar 2025 14:34:55 +0100	[thread overview]
Message-ID: <Z-qZ_4YmTJdFWAHF@shell.armlinux.org.uk> (raw)
In-Reply-To: <Z-qQuyG7rDeSF_oX@shell.armlinux.org.uk>

On Mon, Mar 31, 2025 at 01:55:23PM +0100, Russell King (Oracle) wrote:
> On Mon, Mar 31, 2025 at 08:29:21AM +0000, 谢致邦 (XIE Zhibang) wrote:
> > > Later arguments override earlier arguments. Any compiled-in command line
> > > needs to be overridable by user supplied input from the boot loader. The
> > > current behaviour is correct.
> > 
> > CMDLINE_EXTEND is for the built-in command line to "Extend bootloader kernel
> > arguments", not for the bootloader command line to extend/override built-in
> > command line.
> > 
> > Don't forget that the default empty CMDLINE already gives the bootloader the
> > ability to override everything. Not to mention that even if CMDLINE is not
> > empty, the default CMDLINE_FROM_BOOTLOADER continues to give the bootloader the
> > ability to override all.
> 
> The help text:
> 
> +         The command-line arguments provided by the boot loader will be
> +         appended to the default kernel command string.
> 
> so, you end up with default kernel command string _followed by_ the
> boot loader arguments. This allows the boot loader arguments to
> override anything that is in the default kernel command string.
> That's why it is a _default_ - it can be overrided.
> 
> If the boot loader command string is extended by the default kernel
> command string, then that doesn't happen.
> 
> CMDLINE_EXTEND is default _followed by_ boot loader.
> 
> You're wanting it to be the other way around. That's broken.

To add further weight:

ARM gained support for CMDLINE_EXTEND in commit 4394c1244249 ("ARM:
6893/1: Allow for kernel command line concatenation") dated 4 May
2011. In this commit, CONFIG_CMDLINE _prefixes_ the boot loader
supplied arguments.

In commit 34b82026a507 ("fdt: fix extend of cmd line") dated 13
April 2016, which _post_ _dates_ the introduction on ARM, and the
commit even states that it's fixing the lack of appending compared
to ARM, this adds code to drivers/of to _append_ CONFIG_CMDLINE
to the FDT arguments which come from the boot loader.

It is DT that implemented this wrongly.

No, we are not going to change arch/arm to conform to something
that was implemented in a broken way. drivers/of needs fixing
to actually implement it as it was *originally* intended - and
there is five years of arch/arm doing this *before* DT started
to do it.

If drivers/of maintainers also don't want to change, then I'm
sorry, but you have to then put up with the fact that it got
wrongly implemented by drivers/of and thus has a different
behaviour there.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!


  reply	other threads:[~2025-03-31 13:38 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-28 10:20 [PATCH] ARM: Fix support for CMDLINE_EXTEND Yeking
2025-03-28 12:29 ` Russell King (Oracle)
2025-03-31  8:29   ` 谢致邦 (XIE Zhibang)
2025-03-31 12:55     ` Russell King (Oracle)
2025-03-31 13:34       ` Russell King (Oracle) [this message]
2025-03-31 15:14         ` Maxim Uvarov
2025-03-31 15:18           ` Russell King (Oracle)

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Z-qZ_4YmTJdFWAHF@shell.armlinux.org.uk \
    --to=linux@armlinux.org.uk \
    --cc=Yeking@red54.com \
    --cc=ardb@kernel.org \
    --cc=bjorn.andersson@sonyericsson.com \
    --cc=dave@vasilevsky.ca \
    --cc=ebiggers@google.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=liuyuntao12@huawei.com \
    --cc=lumag@kernel.org \
    --cc=masahiroy@kernel.org \
    --cc=muvarov@gmail.com \
    --cc=nathan@kernel.org \
    --cc=nico@fluxnic.net \
    --cc=oskar.andero@sonyericsson.com \
    --cc=robh@kernel.org \
    --cc=ruanjinjie@huawei.com \
    --cc=victor.boivie@sonyericsson.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.