Chester Lin 51a5c7
From d8e85e144bbe12e8d82c6b05d690a34da62cc991 Mon Sep 17 00:00:00 2001
Chester Lin 51a5c7
From: Anders Roxell <anders.roxell@linaro.org>
Chester Lin 51a5c7
Date: Wed, 13 Nov 2019 10:26:52 +0100
Chester Lin 51a5c7
Subject: [PATCH] arm64: Kconfig: add a choice for endianness
Chester Lin 51a5c7
Git-commit: d8e85e144bbe12e8d82c6b05d690a34da62cc991
Chester Lin 51a5c7
Patch-mainline: v5.5-rc1
Chester Lin 51a5c7
References: jsc#SLE-23432
Chester Lin 51a5c7
Chester Lin 51a5c7
When building allmodconfig KCONFIG_ALLCONFIG=$(pwd)/arch/arm64/configs/defconfig
Chester Lin 51a5c7
CONFIG_CPU_BIG_ENDIAN gets enabled. Which tends not to be what most
Chester Lin 51a5c7
people want. Another concern that has come up is that ACPI isn't built
Chester Lin 51a5c7
for an allmodconfig kernel today since that also depends on !CPU_BIG_ENDIAN.
Chester Lin 51a5c7
Chester Lin 51a5c7
Rework so that we introduce a 'choice' and default the choice to
Chester Lin 51a5c7
CPU_LITTLE_ENDIAN. That means that when we build an allmodconfig kernel
Chester Lin 51a5c7
it will default to CPU_LITTLE_ENDIAN that most people tends to want.
Chester Lin 51a5c7
Chester Lin 51a5c7
Reviewed-by: John Garry <john.garry@huawei.com>
Chester Lin 51a5c7
Acked-by: Will Deacon <will@kernel.org>
Chester Lin 51a5c7
Signed-off-by: Anders Roxell <anders.roxell@linaro.org>
Chester Lin 51a5c7
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Chester Lin 51a5c7
Acked-by: Chester Lin <clin@suse.com>
Chester Lin 51a5c7
---
Chester Lin 51a5c7
 arch/arm64/Kconfig | 18 +++++++++++++++++-
Chester Lin 51a5c7
 1 file changed, 17 insertions(+), 1 deletion(-)
Chester Lin 51a5c7
Chester Lin 51a5c7
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
Chester Lin 51a5c7
index 8a0800e5be9d..d66a9727344d 100644
Chester Lin 51a5c7
--- a/arch/arm64/Kconfig
Chester Lin 51a5c7
+++ b/arch/arm64/Kconfig
Chester Lin 51a5c7
@@ -877,10 +877,26 @@ config ARM64_PA_BITS
Chester Lin 51a5c7
 	default 48 if ARM64_PA_BITS_48
Chester Lin 51a5c7
 	default 52 if ARM64_PA_BITS_52
Chester Lin 51a5c7
 
Chester Lin 51a5c7
+choice
Chester Lin 51a5c7
+	prompt "Endianness"
Chester Lin 51a5c7
+	default CPU_LITTLE_ENDIAN
Chester Lin 51a5c7
+	help
Chester Lin 51a5c7
+	  Select the endianness of data accesses performed by the CPU. Userspace
Chester Lin 51a5c7
+	  applications will need to be compiled and linked for the endianness
Chester Lin 51a5c7
+	  that is selected here.
Chester Lin 51a5c7
+
Chester Lin 51a5c7
 config CPU_BIG_ENDIAN
Chester Lin 51a5c7
        bool "Build big-endian kernel"
Chester Lin 51a5c7
        help
Chester Lin 51a5c7
-         Say Y if you plan on running a kernel in big-endian mode.
Chester Lin 51a5c7
+	  Say Y if you plan on running a kernel with a big-endian userspace.
Chester Lin 51a5c7
+
Chester Lin 51a5c7
+config CPU_LITTLE_ENDIAN
Chester Lin 51a5c7
+	bool "Build little-endian kernel"
Chester Lin 51a5c7
+	help
Chester Lin 51a5c7
+	  Say Y if you plan on running a kernel with a little-endian userspace.
Chester Lin 51a5c7
+	  This is usually the case for distributions targeting arm64.
Chester Lin 51a5c7
+
Chester Lin 51a5c7
+endchoice
Chester Lin 51a5c7
 
Chester Lin 51a5c7
 config SCHED_MC
Chester Lin 51a5c7
 	bool "Multi-core scheduler support"
Chester Lin 51a5c7
-- 
Chester Lin 51a5c7
2.33.1
Chester Lin 51a5c7