linux-riscv.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: mick@ics.forth.gr (Nick Kossifidis)
To: linux-riscv@lists.infradead.org
Subject: [PATCH] RISC-V: Update Kconfig to better handle CMDLINE
Date: Fri, 16 Nov 2018 19:33:02 +0200	[thread overview]
Message-ID: <2b4257cfe91538377458f8940cb35a0a@mailhost.ics.forth.gr> (raw)
In-Reply-To: <mhng-c4cd5cdc-bffb-48f9-9594-0eca3acfe36c@palmer-si-x1c4>

???? 2018-11-16 19:27, Palmer Dabbelt ??????:
> On Fri, 16 Nov 2018 09:14:04 PST (-0800), mick at ics.forth.gr wrote:
>> ???? 2018-11-16 19:08, Nick Kossifidis ??????:
>>> ???? 2018-11-16 18:52, Palmer Dabbelt ??????:
>>>> On Fri, 09 Nov 2018 17:02:44 PST (-0800), mick at ics.forth.gr wrote:
>>>>> Add a menu to chose how the built-in command line will be
>>>>> used and add CMDLINE_EXTEND for compatibility with FDT code.
>>>>> 
>>>>> Signed-off-by: Nick Kossifidis <mick@ics.forth.gr>
>>>>> ---
>>>>>  arch/riscv/Kconfig | 45
>>>>> ++++++++++++++++++++++++---------------------
>>>>>  1 file changed, 24 insertions(+), 21 deletions(-)
>>>>> 
>>>>> diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
>>>>> index 55da93f4e818..81f884164b52 100644
>>>>> --- a/arch/riscv/Kconfig
>>>>> +++ b/arch/riscv/Kconfig
>>>>> @@ -227,39 +227,42 @@ endmenu
>>>>> 
>>>>>  menu "Boot options"
>>>>> 
>>>>> -config CMDLINE_BOOL
>>>>> -	bool "Built-in kernel command line"
>>>>> +config CMDLINE
>>>>> +	string "Built-in kernel command line"
>>>>>  	help
>>>>>  	  For most platforms, it is firmware or second stage bootloader
>>>>>  	  that by default specifies the kernel command line options.
>>>>>  	  However, it might be necessary or advantageous to either 
>>>>> override
>>>>> -	  the default kernel command line or add a few extra options to 
>>>>> it.
>>>>> -	  For such cases, this option allows hardcoding command line
>>>>> options
>>>>> -	  directly into the kernel.
>>>>> +	  the provided kernel command line or add a few extra options to
>>>>> it.
>>>>> +	  For such cases, it is possible to define a built-in command 
>>>>> line
>>>>> +	  here and chose how the kernel should use it later on.
>>>>> 
>>>>> -	  For that, choose 'Y' here and fill in the extra boot parameters
>>>>> -	  in CONFIG_CMDLINE.
>>>>> +choice
>>>>> +	prompt "Built-in command line usage" if CMDLINE != ""
>>>>> +	default CMDLINE_FALLBACK
>>>>> +	help
>>>>> +	  Chose how the kernel will handle the provided built-in command
>>>>> +	  line.
>>>>> 
>>>>> -	  The built-in options will be concatenated to the default 
>>>>> command
>>>>> -	  line if CMDLINE_FORCE is set to 'N'. Otherwise, the default
>>>>> -	  command line will be ignored and replaced by the built-in 
>>>>> string.
>>>>> +config CMDLINE_FALLBACK
>>>>> +	bool "Fallback"
>>>>> +	help
>>>>> +	  Use the built-in command line as fallback in case we get 
>>>>> nothing
>>>>> +	  from the boot loader.
>>>>> 
>>>>> -config CMDLINE
>>>>> -	string "Built-in kernel command string"
>>>>> -	depends on CMDLINE_BOOL
>>>>> -	default ""
>>>>> +config CMDLINE_EXTEND
>>>>> +	bool "Extension"
>>>>>  	help
>>>>> -	  Supply command-line options at build time by entering them 
>>>>> here.
>>>>> +	  Use the built-in command line as an extension of the command 
>>>>> line
>>>>> +	  provided by the boot loader.
>>>>> 
>>>>>  config CMDLINE_FORCE
>>>>> -	bool "Built-in command line overrides bootloader arguments"
>>>>> -	depends on CMDLINE_BOOL
>>>>> +	bool "Forced"
>>>>>  	help
>>>>> -	  Set this option to 'Y' to have the kernel ignore the bootloader
>>>>> -	  or firmware command line.  Instead, the built-in command line
>>>>> -	  will be used exclusively.
>>>>> +	  Use the built-in command line in place of the command line
>>>>> +	  provided by the boot loader.
>>>>> 
>>>>> -	  If you don't know what to do here, say N.
>>>>> +endchoice
>>>>> 
>>>>>  endmenu
>>>> 
>>>> It looks like this is functionally equivalent to what ARM has, but 
>>>> the
>>>> polarity is a bit different and the help strings aren't as easy to
>>>> read.  Is there a reason we can't just copy what they do?
>>>> 
>>>>    config CMDLINE
>>>>            string "Default kernel command string"
>>>>            default ""
>>>>            help
>>>>              On some architectures (EBSA110 and CATS), there is
>>>> currently no way
>>>>              for the boot loader to pass arguments to the kernel. 
>>>> For
>>>> these
>>>>              architectures, you should supply some command-line
>>>> options at build
>>>>              time by entering them here. As a minimum, you should
>>>> specify the
>>>>              memory size and the root device (e.g., mem=64M
>>>> root=/dev/nfs).
>>>>       choice
>>>>            prompt "Kernel command line type" if CMDLINE != ""
>>>>            default CMDLINE_FROM_BOOTLOADER
>>>>            depends on ATAGS
>>>>       config CMDLINE_FROM_BOOTLOADER
>>>>            bool "Use bootloader kernel arguments if available"
>>>>            help
>>>>              Uses the command-line options passed by the boot 
>>>> loader.
>>>> If
>>>>              the boot loader doesn't provide any, the default kernel
>>>> command
>>>>              string provided in CMDLINE will be used.
>>>>       config CMDLINE_EXTEND
>>>>            bool "Extend bootloader kernel arguments"
>>>>            help
>>>>              The command-line arguments provided by the boot loader
>>>> will be
>>>>              appended to the default kernel command string.
>>>>       config CMDLINE_FORCE
>>>>            bool "Always use the default kernel command string"
>>>>            help
>>>>              Always use the default kernel command string, even if 
>>>> the
>>>> boot
>>>>              loader passes other arguments to the kernel.
>>>>              This is useful if you cannot or don't want to change 
>>>> the
>>>>              command-line options your boot loader passes to the
>>>> kernel.
>>>>    endchoice
>>>>    I'm not really opposed to your solution, I'm just trying to avoid
>>>> being different without a reason.
>>> 
>>> ATAGS and references to ARM platforms such as EBSA110 are not related
>>> to RISC-V
>>> and I think CMDLINE_FALLBACK is more descriptive than
>>> CMDLINE_FROM_BOOTLOADER.
> 
> OK.
> 
>> Now that you mention it the text could be better. I just wanted to
>> keep them short and consistent. Do you want me to use ARM's text for
>> CMDLINE_EXTEND and CMDLINE_FORCE ?
> 
> That's pretty much the only part I looked at.  "Extension" and
> "Forced" looked a bit too brief, so I grepped around and found the ARM
> one.  I only looked at the strings, I agree much of the help text
> makes no sense for RISC-V -- what was there is fine.
> 
> Can you re-spin the patch?

ACK

WARNING: multiple messages have this Message-ID (diff)
From: Nick Kossifidis <mick@ics.forth.gr>
To: Palmer Dabbelt <palmer@sifive.com>
Cc: mick@ics.forth.gr, linux-riscv@lists.infradead.org,
	aou@eecs.berkeley.edu
Subject: Re: [PATCH] RISC-V: Update Kconfig to better handle CMDLINE
Date: Fri, 16 Nov 2018 19:33:02 +0200	[thread overview]
Message-ID: <2b4257cfe91538377458f8940cb35a0a@mailhost.ics.forth.gr> (raw)
Message-ID: <20181116173302.QZQKCklysFSZ9Q--9uS0E9o777Z2zQRTNP5090xsCYU@z> (raw)
In-Reply-To: <mhng-c4cd5cdc-bffb-48f9-9594-0eca3acfe36c@palmer-si-x1c4>

Στις 2018-11-16 19:27, Palmer Dabbelt έγραψε:
> On Fri, 16 Nov 2018 09:14:04 PST (-0800), mick@ics.forth.gr wrote:
>> Στις 2018-11-16 19:08, Nick Kossifidis έγραψε:
>>> Στις 2018-11-16 18:52, Palmer Dabbelt έγραψε:
>>>> On Fri, 09 Nov 2018 17:02:44 PST (-0800), mick@ics.forth.gr wrote:
>>>>> Add a menu to chose how the built-in command line will be
>>>>> used and add CMDLINE_EXTEND for compatibility with FDT code.
>>>>> 
>>>>> Signed-off-by: Nick Kossifidis <mick@ics.forth.gr>
>>>>> ---
>>>>>  arch/riscv/Kconfig | 45
>>>>> ++++++++++++++++++++++++---------------------
>>>>>  1 file changed, 24 insertions(+), 21 deletions(-)
>>>>> 
>>>>> diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
>>>>> index 55da93f4e818..81f884164b52 100644
>>>>> --- a/arch/riscv/Kconfig
>>>>> +++ b/arch/riscv/Kconfig
>>>>> @@ -227,39 +227,42 @@ endmenu
>>>>> 
>>>>>  menu "Boot options"
>>>>> 
>>>>> -config CMDLINE_BOOL
>>>>> -	bool "Built-in kernel command line"
>>>>> +config CMDLINE
>>>>> +	string "Built-in kernel command line"
>>>>>  	help
>>>>>  	  For most platforms, it is firmware or second stage bootloader
>>>>>  	  that by default specifies the kernel command line options.
>>>>>  	  However, it might be necessary or advantageous to either 
>>>>> override
>>>>> -	  the default kernel command line or add a few extra options to 
>>>>> it.
>>>>> -	  For such cases, this option allows hardcoding command line
>>>>> options
>>>>> -	  directly into the kernel.
>>>>> +	  the provided kernel command line or add a few extra options to
>>>>> it.
>>>>> +	  For such cases, it is possible to define a built-in command 
>>>>> line
>>>>> +	  here and chose how the kernel should use it later on.
>>>>> 
>>>>> -	  For that, choose 'Y' here and fill in the extra boot parameters
>>>>> -	  in CONFIG_CMDLINE.
>>>>> +choice
>>>>> +	prompt "Built-in command line usage" if CMDLINE != ""
>>>>> +	default CMDLINE_FALLBACK
>>>>> +	help
>>>>> +	  Chose how the kernel will handle the provided built-in command
>>>>> +	  line.
>>>>> 
>>>>> -	  The built-in options will be concatenated to the default 
>>>>> command
>>>>> -	  line if CMDLINE_FORCE is set to 'N'. Otherwise, the default
>>>>> -	  command line will be ignored and replaced by the built-in 
>>>>> string.
>>>>> +config CMDLINE_FALLBACK
>>>>> +	bool "Fallback"
>>>>> +	help
>>>>> +	  Use the built-in command line as fallback in case we get 
>>>>> nothing
>>>>> +	  from the boot loader.
>>>>> 
>>>>> -config CMDLINE
>>>>> -	string "Built-in kernel command string"
>>>>> -	depends on CMDLINE_BOOL
>>>>> -	default ""
>>>>> +config CMDLINE_EXTEND
>>>>> +	bool "Extension"
>>>>>  	help
>>>>> -	  Supply command-line options at build time by entering them 
>>>>> here.
>>>>> +	  Use the built-in command line as an extension of the command 
>>>>> line
>>>>> +	  provided by the boot loader.
>>>>> 
>>>>>  config CMDLINE_FORCE
>>>>> -	bool "Built-in command line overrides bootloader arguments"
>>>>> -	depends on CMDLINE_BOOL
>>>>> +	bool "Forced"
>>>>>  	help
>>>>> -	  Set this option to 'Y' to have the kernel ignore the bootloader
>>>>> -	  or firmware command line.  Instead, the built-in command line
>>>>> -	  will be used exclusively.
>>>>> +	  Use the built-in command line in place of the command line
>>>>> +	  provided by the boot loader.
>>>>> 
>>>>> -	  If you don't know what to do here, say N.
>>>>> +endchoice
>>>>> 
>>>>>  endmenu
>>>> 
>>>> It looks like this is functionally equivalent to what ARM has, but 
>>>> the
>>>> polarity is a bit different and the help strings aren't as easy to
>>>> read.  Is there a reason we can't just copy what they do?
>>>> 
>>>>    config CMDLINE
>>>>            string "Default kernel command string"
>>>>            default ""
>>>>            help
>>>>              On some architectures (EBSA110 and CATS), there is
>>>> currently no way
>>>>              for the boot loader to pass arguments to the kernel. 
>>>> For
>>>> these
>>>>              architectures, you should supply some command-line
>>>> options at build
>>>>              time by entering them here. As a minimum, you should
>>>> specify the
>>>>              memory size and the root device (e.g., mem=64M
>>>> root=/dev/nfs).
>>>>       choice
>>>>            prompt "Kernel command line type" if CMDLINE != ""
>>>>            default CMDLINE_FROM_BOOTLOADER
>>>>            depends on ATAGS
>>>>       config CMDLINE_FROM_BOOTLOADER
>>>>            bool "Use bootloader kernel arguments if available"
>>>>            help
>>>>              Uses the command-line options passed by the boot 
>>>> loader.
>>>> If
>>>>              the boot loader doesn't provide any, the default kernel
>>>> command
>>>>              string provided in CMDLINE will be used.
>>>>       config CMDLINE_EXTEND
>>>>            bool "Extend bootloader kernel arguments"
>>>>            help
>>>>              The command-line arguments provided by the boot loader
>>>> will be
>>>>              appended to the default kernel command string.
>>>>       config CMDLINE_FORCE
>>>>            bool "Always use the default kernel command string"
>>>>            help
>>>>              Always use the default kernel command string, even if 
>>>> the
>>>> boot
>>>>              loader passes other arguments to the kernel.
>>>>              This is useful if you cannot or don't want to change 
>>>> the
>>>>              command-line options your boot loader passes to the
>>>> kernel.
>>>>    endchoice
>>>>    I'm not really opposed to your solution, I'm just trying to avoid
>>>> being different without a reason.
>>> 
>>> ATAGS and references to ARM platforms such as EBSA110 are not related
>>> to RISC-V
>>> and I think CMDLINE_FALLBACK is more descriptive than
>>> CMDLINE_FROM_BOOTLOADER.
> 
> OK.
> 
>> Now that you mention it the text could be better. I just wanted to
>> keep them short and consistent. Do you want me to use ARM's text for
>> CMDLINE_EXTEND and CMDLINE_FORCE ?
> 
> That's pretty much the only part I looked at.  "Extension" and
> "Forced" looked a bit too brief, so I grepped around and found the ARM
> one.  I only looked at the strings, I agree much of the help text
> makes no sense for RISC-V -- what was there is fine.
> 
> Can you re-spin the patch?

ACK

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

  parent reply	other threads:[~2018-11-16 17:33 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-10  1:02 [PATCH] RISC-V: Update Kconfig to better handle CMDLINE Nick Kossifidis
2018-11-10  1:02 ` Nick Kossifidis
2018-11-16 16:52 ` Palmer Dabbelt
2018-11-16 16:52   ` Palmer Dabbelt
2018-11-16 17:08   ` Nick Kossifidis
2018-11-16 17:08     ` Nick Kossifidis
2018-11-16 17:14     ` Nick Kossifidis
2018-11-16 17:14       ` Nick Kossifidis
2018-11-16 17:27       ` Palmer Dabbelt
2018-11-16 17:27         ` Palmer Dabbelt
2018-11-16 17:33         ` Nick Kossifidis [this message]
2018-11-16 17:33           ` Nick Kossifidis
  -- strict thread matches above, loose matches on Subject: below --
2018-10-04 11:32 Nick Kossifidis
2018-10-04 11:32 ` Nick Kossifidis
2018-11-09 18:34 ` Nick Kossifidis
2018-11-09 18:34   ` Nick Kossifidis
2018-11-09 21:05   ` Palmer Dabbelt
2018-11-09 21:05     ` Palmer Dabbelt

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=2b4257cfe91538377458f8940cb35a0a@mailhost.ics.forth.gr \
    --to=mick@ics.forth.gr \
    --cc=linux-riscv@lists.infradead.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).