[PATCH] arm64: Kconfig: Make CPU_BIG_ENDIAN depend on BROKEN
Guenter Roeck
linux at roeck-us.net
Wed Sep 24 09:09:16 PDT 2025
On 9/19/25 11:40, Will Deacon wrote:
> 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.
Cool, one more architecture to drop. I wonder if I should drop arm64 big endian testing
for all kernel releases. That would simplify my test infrastructure substantially,
and it would avoid useless regressions due to bitrot for older kernel releases
if no one is using it anyway. Thoughts ?
Thanks,
Guenter
>
> 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.
>
More information about the linux-arm-kernel
mailing list