Message ID | 20190724053303.24317-1-chris.packham@alliedtelesis.co.nz (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | powerpc: Support CMDLINE_EXTEND | expand |
Context | Check | Description |
---|---|---|
snowpatch_ozlabs/apply_patch | success | Successfully applied on branch next (f3365d1a959d5c6527efe3d38276acc9b58e3f3f) |
snowpatch_ozlabs/build-ppc64le | success | Build succeeded |
snowpatch_ozlabs/build-ppc64be | success | Build succeeded |
snowpatch_ozlabs/build-ppc64e | success | Build succeeded |
snowpatch_ozlabs/build-pmac32 | success | Build succeeded |
snowpatch_ozlabs/checkpatch | warning | total: 0 errors, 1 warnings, 0 checks, 24 lines checked |
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 <chris.packham@alliedtelesis.co.nz> > --- > 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 <chris.packham@alliedtelesis.co.nz> > > --- > > 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 <chris.packham@alliedtelesis.co.nz> >>> --- >>> 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 <chris.packham@alliedtelesis.co.nz > > > > > > > > > --- > > > > 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
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
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 <chris.packham@alliedtelesis.co.nz> --- arch/powerpc/Kconfig | 12 ++++++++++++ 1 file changed, 12 insertions(+)