Device tree aware platforms can make use of CMDLINE_EXTEND to extend the
kernel command line provided by the bootloader. This is particularly
useful to set parameters for built-in modules that would otherwise be
done at module insertion. Add support for this in the powerpc
architecture.
Signed-off-by: Chris Packham <[email protected]>
---
arch/powerpc/Kconfig | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index d8dcd8820369..cd9b3974aa36 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -851,6 +851,11 @@ config CMDLINE
some command-line options at build time by entering them here. In
most cases you will need to specify the root device here.
+choice
+ prompt "Kernel command line type" if CMDLINE != ""
+ default CMDLINE_FORCE
+ depends on CMDLINE_BOOL
+
config CMDLINE_FORCE
bool "Always use the default kernel command string"
depends on CMDLINE_BOOL
@@ -860,6 +865,13 @@ config CMDLINE_FORCE
This is useful if you cannot or don't want to change the
command-line options your boot loader passes to the kernel.
+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.
+endchoice
+
config EXTRA_TARGETS
string "Additional default image types"
help
--
2.22.0
Le 24/07/2019 à 07:33, Chris Packham a écrit :
> Device tree aware platforms can make use of CMDLINE_EXTEND to extend the
> kernel command line provided by the bootloader. This is particularly
> useful to set parameters for built-in modules that would otherwise be
> done at module insertion. Add support for this in the powerpc
> architecture.
>
> Signed-off-by: Chris Packham <[email protected]>
> ---
> arch/powerpc/Kconfig | 12 ++++++++++++
I think you also have to implement some stuff in early_cmdline_parse()
in arch/powerpc/kernel/prom_init.c
Maybe look at https://patchwork.ozlabs.org/patch/1074126/
Christophe
> 1 file changed, 12 insertions(+)
>
> diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
> index d8dcd8820369..cd9b3974aa36 100644
> --- a/arch/powerpc/Kconfig
> +++ b/arch/powerpc/Kconfig
> @@ -851,6 +851,11 @@ config CMDLINE
> some command-line options at build time by entering them here. In
> most cases you will need to specify the root device here.
>
> +choice
> + prompt "Kernel command line type" if CMDLINE != ""
> + default CMDLINE_FORCE
> + depends on CMDLINE_BOOL
> +
> config CMDLINE_FORCE
> bool "Always use the default kernel command string"
> depends on CMDLINE_BOOL
> @@ -860,6 +865,13 @@ config CMDLINE_FORCE
> This is useful if you cannot or don't want to change the
> command-line options your boot loader passes to the kernel.
>
> +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.
> +endchoice
> +
> config EXTRA_TARGETS
> string "Additional default image types"
> help
>
Hi Christophe,
On Tue, 2019-07-30 at 09:02 +0200, Christophe Leroy wrote:
>
> Le 24/07/2019 à 07:33, Chris Packham a écrit :
> >
> > Device tree aware platforms can make use of CMDLINE_EXTEND to
> > extend the
> > kernel command line provided by the bootloader. This is
> > particularly
> > useful to set parameters for built-in modules that would otherwise
> > be
> > done at module insertion. Add support for this in the powerpc
> > architecture.
> >
> > Signed-off-by: Chris Packham <[email protected]>
> > ---
> > arch/powerpc/Kconfig | 12 ++++++++++++
> I think you also have to implement some stuff in
> early_cmdline_parse()
> in arch/powerpc/kernel/prom_init.c
I my case I didn't need to since the generic code in drivers/of/fdt.c
did what I need. For early options or platforms that don't use a device
tree then I can see why I'd need the update to update to prom_init.
>
> Maybe look at https://patchwork.ozlabs.org/patch/1074126/
>
Do you mind if I take this and fold it into a v2 of my patch? Any
particular reason it didn't get picked up in April?
> Christophe
>
> >
> > 1 file changed, 12 insertions(+)
> >
> > diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
> > index d8dcd8820369..cd9b3974aa36 100644
> > --- a/arch/powerpc/Kconfig
> > +++ b/arch/powerpc/Kconfig
> > @@ -851,6 +851,11 @@ config CMDLINE
> > some command-line options at build time by entering
> > them here. In
> > most cases you will need to specify the root device
> > here.
> >
> > +choice
> > + prompt "Kernel command line type" if CMDLINE != ""
> > + default CMDLINE_FORCE
> > + depends on CMDLINE_BOOL
> > +
> > config CMDLINE_FORCE
> > bool "Always use the default kernel command string"
> > depends on CMDLINE_BOOL
> > @@ -860,6 +865,13 @@ config CMDLINE_FORCE
> > This is useful if you cannot or don't want to change
> > the
> > command-line options your boot loader passes to the
> > kernel.
> >
> > +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.
> > +endchoice
> > +
> > config EXTRA_TARGETS
> > string "Additional default image types"
> > help
> >
Le 30/07/2019 à 23:10, Chris Packham a écrit :
> Hi Christophe,
>
> On Tue, 2019-07-30 at 09:02 +0200, Christophe Leroy wrote:
>>
>> Le 24/07/2019 à 07:33, Chris Packham a écrit :
>>>
>>> Device tree aware platforms can make use of CMDLINE_EXTEND to
>>> extend the
>>> kernel command line provided by the bootloader. This is
>>> particularly
>>> useful to set parameters for built-in modules that would otherwise
>>> be
>>> done at module insertion. Add support for this in the powerpc
>>> architecture.
>>>
>>> Signed-off-by: Chris Packham <[email protected]>
>>> ---
>>> arch/powerpc/Kconfig | 12 ++++++++++++
>> I think you also have to implement some stuff in
>> early_cmdline_parse()
>> in arch/powerpc/kernel/prom_init.c
>
> I my case I didn't need to since the generic code in drivers/of/fdt.c
> did what I need. For early options or platforms that don't use a device
> tree then I can see why I'd need the update to update to prom_init.
>
>>
>> Maybe look at https://patchwork.ozlabs.org/patch/1074126/
>>
>
> Do you mind if I take this and fold it into a v2 of my patch? Any
> particular reason it didn't get picked up in April?
Sure, take it, I don't mind.
Two reasons it was not picked up in April I believe:
- It was part of a larger series
(https://patchwork.ozlabs.org/project/linuxppc-dev/list/?series=100518)
and was intended to challenge the series proposed by Daniel
(https://patchwork.ozlabs.org/project/linuxppc-dev/list/?series=98106)
but nothing happened.
- It was conflicting with the ongoing changes for implementing KASAN.
What you will have to do is to define prom_strlcat() in the same spirit
as https://patchwork.ozlabs.org/patch/1091621/ by copying it from
lib/string.c and I think you'll be able to drop prom_strlcpy() as that
function what only used there.
Christophe
>
>> Christophe
>>
>>>
>>> 1 file changed, 12 insertions(+)
>>>
>>> diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
>>> index d8dcd8820369..cd9b3974aa36 100644
>>> --- a/arch/powerpc/Kconfig
>>> +++ b/arch/powerpc/Kconfig
>>> @@ -851,6 +851,11 @@ config CMDLINE
>>> some command-line options at build time by entering
>>> them here. In
>>> most cases you will need to specify the root device
>>> here.
>>>
>>> +choice
>>> + prompt "Kernel command line type" if CMDLINE != ""
>>> + default CMDLINE_FORCE
>>> + depends on CMDLINE_BOOL
>>> +
>>> config CMDLINE_FORCE
>>> bool "Always use the default kernel command string"
>>> depends on CMDLINE_BOOL
>>> @@ -860,6 +865,13 @@ config CMDLINE_FORCE
>>> This is useful if you cannot or don't want to change
>>> the
>>> command-line options your boot loader passes to the
>>> kernel.
>>>
>>> +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.
>>> +endchoice
>>> +
>>> config EXTRA_TARGETS
>>> string "Additional default image types"
>>> help
On Wed, 2019-07-31 at 09:23 +0200, Christophe Leroy wrote:
>
> Le 30/07/2019 à 23:10, Chris Packham a écrit :
> >
> > Hi Christophe,
> >
> > On Tue, 2019-07-30 at 09:02 +0200, Christophe Leroy wrote:
> > >
> > >
> > > Le 24/07/2019 à 07:33, Chris Packham a écrit :
> > > >
> > > >
> > > > Device tree aware platforms can make use of CMDLINE_EXTEND to
> > > > extend the
> > > > kernel command line provided by the bootloader. This is
> > > > particularly
> > > > useful to set parameters for built-in modules that would
> > > > otherwise
> > > > be
> > > > done at module insertion. Add support for this in the powerpc
> > > > architecture.
> > > >
> > > > Signed-off-by: Chris Packham <[email protected]
> > > > >
> > > > ---
> > > > arch/powerpc/Kconfig | 12 ++++++++++++
> > > I think you also have to implement some stuff in
> > > early_cmdline_parse()
> > > in arch/powerpc/kernel/prom_init.c
> > I my case I didn't need to since the generic code
> > in drivers/of/fdt.c
> > did what I need. For early options or platforms that don't use a
> > device
> > tree then I can see why I'd need the update to update to prom_init.
> >
> > >
> > >
> > > Maybe look at https://patchwork.ozlabs.org/patch/1074126/
> > >
> > Do you mind if I take this and fold it into a v2 of my patch? Any
> > particular reason it didn't get picked up in April?
> Sure, take it, I don't mind.
>
> Two reasons it was not picked up in April I believe:
> - It was part of a larger series
> (https://patchwork.ozlabs.org/project/linuxppc-dev/list/?series=10051
> 8)
> and was intended to challenge the series proposed by Daniel
> (https://patchwork.ozlabs.org/project/linuxppc-dev/list/?series=98106
> )
> but nothing happened.
> - It was conflicting with the ongoing changes for implementing KASAN.
>
> What you will have to do is to define prom_strlcat() in the same
> spirit
> as https://patchwork.ozlabs.org/patch/1091621/ by copying it from
> lib/string.c and
Is it OK to use BUG_ON in prom_init? If I copy it verbatim then the
code from lib/string.c has a BUG_ON. I could probably change that to
if(x) return -1 if BUG_ON is not appropriate.
> I think you'll be able to drop prom_strlcpy() as that
> function what only used there.
I think I need to keep prom_strlcpy to handle the CMDLINE_FORCE case.
>
> Christophe
>
> >
> >
> > >
> > > Christophe
> > >
> > > >
> > > >
> > > > 1 file changed, 12 insertions(+)
> > > >
> > > > diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
> > > > index d8dcd8820369..cd9b3974aa36 100644
> > > > --- a/arch/powerpc/Kconfig
> > > > +++ b/arch/powerpc/Kconfig
> > > > @@ -851,6 +851,11 @@ config CMDLINE
> > > > some command-line options at build time by
> > > > entering
> > > > them here. In
> > > > most cases you will need to specify the root
> > > > device
> > > > here.
> > > >
> > > > +choice
> > > > + prompt "Kernel command line type" if CMDLINE != ""
> > > > + default CMDLINE_FORCE
> > > > + depends on CMDLINE_BOOL
> > > > +
> > > > config CMDLINE_FORCE
> > > > bool "Always use the default kernel command string"
> > > > depends on CMDLINE_BOOL
> > > > @@ -860,6 +865,13 @@ config CMDLINE_FORCE
> > > > This is useful if you cannot or don't want to
> > > > change
> > > > the
> > > > command-line options your boot loader passes to
> > > > the
> > > > kernel.
> > > >
> > > > +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.
> > > > +endchoice
> > > > +
> > > > config EXTRA_TARGETS
> > > > string "Additional default image types"
> > > > help