Message ID | 20191112160144.8357-1-anders.roxell@linaro.org |
---|---|
State | New |
Headers | show |
Series | arm64: Kconfig: add a choice for endianess | expand |
On 12/11/2019 16:01, Anders Roxell wrote: > When building allmodconfig KCONFIG_ALLCONFIG=$(pwd)/arch/arm64/configs/defconfig > CONFIG_CPU_BIG_ENDIAN gets enabled. Which tends not to be what most > people wants. Another concern that thas come up is that ACPI in't built /s/wants/want/, s/thas/has/, s/in't/isn't/ > for an allmodconfig kernel today since that also depends on !CPU_BIG_ENDIAN. > > Rework so that we introduce a 'choice' and default the choice to > CPU_LITTLE_ENDIAN. That means that when we build an allmodconfig kernel > it will default to CPU_LITTLE_ENDIAN that most people tends to want. > > Signed-off-by: Anders Roxell <anders.roxell@linaro.org> FWIW, apart from spelling mistakes: Reviewed-by: John Garry <john.garry@huawei.com> > --- > arch/arm64/Kconfig | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig > index 64764ca92fca..62f83c234a61 100644 > --- a/arch/arm64/Kconfig > +++ b/arch/arm64/Kconfig > @@ -877,11 +877,24 @@ config ARM64_PA_BITS > default 48 if ARM64_PA_BITS_48 > default 52 if ARM64_PA_BITS_52 > > +choice > + prompt "Endianess" Should this be "Endianness"? > + default CPU_LITTLE_ENDIAN > + help > + Choose what mode you plan on running your kernel in. > + > config CPU_BIG_ENDIAN > bool "Build big-endian kernel" > help > Say Y if you plan on running a kernel in big-endian mode. > > +config CPU_LITTLE_ENDIAN > + bool "Build little-endian kernel" > + help > + Say Y if you plan on running a kernel in little-endian mode. > + > +endchoice > + > config SCHED_MC > bool "Multi-core scheduler support" > help >
On Tue, Nov 12, 2019 at 04:24:31PM +0000, John Garry wrote: > On 12/11/2019 16:01, Anders Roxell wrote: > > When building allmodconfig KCONFIG_ALLCONFIG=$(pwd)/arch/arm64/configs/defconfig > > CONFIG_CPU_BIG_ENDIAN gets enabled. Which tends not to be what most > > people wants. Another concern that thas come up is that ACPI in't built > > /s/wants/want/, s/thas/has/, s/in't/isn't/ > > > for an allmodconfig kernel today since that also depends on !CPU_BIG_ENDIAN. > > > > Rework so that we introduce a 'choice' and default the choice to > > CPU_LITTLE_ENDIAN. That means that when we build an allmodconfig kernel > > it will default to CPU_LITTLE_ENDIAN that most people tends to want. > > > > Signed-off-by: Anders Roxell <anders.roxell@linaro.org> > > FWIW, apart from spelling mistakes: > > Reviewed-by: John Garry <john.garry@huawei.com> > > > --- > > arch/arm64/Kconfig | 13 +++++++++++++ > > 1 file changed, 13 insertions(+) > > > > diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig > > index 64764ca92fca..62f83c234a61 100644 > > --- a/arch/arm64/Kconfig > > +++ b/arch/arm64/Kconfig > > @@ -877,11 +877,24 @@ config ARM64_PA_BITS > > default 48 if ARM64_PA_BITS_48 > > default 52 if ARM64_PA_BITS_52 > > +choice > > + prompt "Endianess" > > Should this be "Endianness"? > > > + default CPU_LITTLE_ENDIAN > > + help > > + Choose what mode you plan on running your kernel in. While we're at it, I'd avoid the use of "mode" here since that has a different meaning in the architecture, although I see we already use that terminology for CPU_BIG_ENDIAN. How about: "Select the endianness of data accesses performed by the CPU. Userspace applications will need to be compiled and linked for the endianness that is selected here. Little-endian is compatible with x86, but big-endian is faster." (ok, maybe drop that last sentence ;) > > config CPU_BIG_ENDIAN > > bool "Build big-endian kernel" > > help > > Say Y if you plan on running a kernel in big-endian mode. Then this can be: "Say Y if you plan on running a kernel with a big-endian userspace." > > +config CPU_LITTLE_ENDIAN > > + bool "Build little-endian kernel" > > + help > > + Say Y if you plan on running a kernel in little-endian mode. "Say Y if you plan on running a kernel with a little-endian userspace. This is usually the case for distributions targetting arm64." I think it's userspace that people really care about, so wording it in terms of that makes most sense to me. Will
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index 64764ca92fca..62f83c234a61 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -877,11 +877,24 @@ config ARM64_PA_BITS default 48 if ARM64_PA_BITS_48 default 52 if ARM64_PA_BITS_52 +choice + prompt "Endianess" + default CPU_LITTLE_ENDIAN + help + Choose what mode you plan on running your kernel in. + config CPU_BIG_ENDIAN bool "Build big-endian kernel" help Say Y if you plan on running a kernel in big-endian mode. +config CPU_LITTLE_ENDIAN + bool "Build little-endian kernel" + help + Say Y if you plan on running a kernel in little-endian mode. + +endchoice + config SCHED_MC bool "Multi-core scheduler support" help
When building allmodconfig KCONFIG_ALLCONFIG=$(pwd)/arch/arm64/configs/defconfig CONFIG_CPU_BIG_ENDIAN gets enabled. Which tends not to be what most people wants. Another concern that thas come up is that ACPI in't built for an allmodconfig kernel today since that also depends on !CPU_BIG_ENDIAN. Rework so that we introduce a 'choice' and default the choice to CPU_LITTLE_ENDIAN. That means that when we build an allmodconfig kernel it will default to CPU_LITTLE_ENDIAN that most people tends to want. Signed-off-by: Anders Roxell <anders.roxell@linaro.org> --- arch/arm64/Kconfig | 13 +++++++++++++ 1 file changed, 13 insertions(+) -- 2.20.1