[PATCH] arm64: Kconfig: Make CPU_BIG_ENDIAN depend on BROKEN

Will Deacon will at kernel.org
Fri Sep 19 11:40:25 PDT 2025


Big-endian arm64 configurations are vanishingly rare, yet we still claim
to support them in Linux despite very limited testing or visible
interest. Supporting big-endian adds unnecessary burden to reviewers and
contributors which, without any known active users, is hard to justify.
For example, recent work to improve our futex routines and to implement
nested virtualisation support is non-trivially complicated by having to
support both big- and little-endianness.

Back in 2019 [1], it was claimed that Huawei were using arm64 big-endian
machines in their telecommunication products but I don't know whether
that's still the case and certainly haven't seen any patch contributions
to help support or maintain it.

Make CPU_BIG_ENDIAN depend on BROKEN as an initial deprecation step
towards its removal.

Cc: Catalin Marinas <catalin.marinas at arm.com>
Cc: Marc Zyngier <maz at kernel.org>
Cc: Ard Biesheuvel <ardb at kernel.org>
Cc: Arnd Bergmann <arnd at arndb.de>
Cc: Hanjun Guo <guohanjun at huawei.com>
Cc: Jonathan Cameron <Jonathan.Cameron at huawei.com>
Cc: Guenter Roeck <linux at roeck-us.net>
Link: https://lore.kernel.org/linux-arm-kernel/73701e9f-bee1-7ae8-2277-7a3576171cd4@huawei.com/ [1]
Signed-off-by: Will Deacon <will at kernel.org>
---

Cc'ing Guenter as a heads-up in case he needs to turn down his testing
to avoid this causing a false regression report.

Cc'ing Hanjun and Jonathan for clarity on the telecommunication
situation.

 arch/arm64/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index e9bbfacc35a6..5ac670d41604 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -1493,7 +1493,7 @@ choice
 config CPU_BIG_ENDIAN
 	bool "Build big-endian kernel"
 	# https://github.com/llvm/llvm-project/commit/1379b150991f70a5782e9a143c2ba5308da1161c
-	depends on AS_IS_GNU || AS_VERSION >= 150000
+	depends on (AS_IS_GNU || AS_VERSION >= 150000) && BROKEN
 	help
 	  Say Y if you plan on running a kernel with a big-endian userspace.
 
-- 
2.51.0.470.ga7dc726c21-goog




More information about the linux-arm-kernel mailing list