arm64: Kconfig: add a choice for endianness
authorAnders Roxell <anders.roxell@linaro.org>
Wed, 13 Nov 2019 09:26:52 +0000 (10:26 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Thu, 14 Nov 2019 14:39:03 +0000 (14:39 +0000)
When building allmodconfig KCONFIG_ALLCONFIG=$(pwd)/arch/arm64/configs/defconfig
CONFIG_CPU_BIG_ENDIAN gets enabled. Which tends not to be what most
people want. Another concern that has come up is that ACPI isn'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.

Reviewed-by: John Garry <john.garry@huawei.com>
Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Anders Roxell <anders.roxell@linaro.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/Kconfig

index 8a0800e5be9d948980d5027915b36bc7021411f4..d66a9727344de6f92049d1d04e27e7f7737e9b1c 100644 (file)
@@ -877,10 +877,26 @@ config ARM64_PA_BITS
        default 48 if ARM64_PA_BITS_48
        default 52 if ARM64_PA_BITS_52
 
+choice
+       prompt "Endianness"
+       default CPU_LITTLE_ENDIAN
+       help
+         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.
+
 config CPU_BIG_ENDIAN
        bool "Build big-endian kernel"
        help
-         Say Y if you plan on running a kernel in big-endian mode.
+         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 with a little-endian userspace.
+         This is usually the case for distributions targeting arm64.
+
+endchoice
 
 config SCHED_MC
        bool "Multi-core scheduler support"