linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] arm64: Kconfig: Make CPU_BIG_ENDIAN depend on BROKEN
@ 2025-09-19 18:40 Will Deacon
  2025-09-19 19:00 ` Ard Biesheuvel
                   ` (7 more replies)
  0 siblings, 8 replies; 14+ messages in thread
From: Will Deacon @ 2025-09-19 18:40 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Will Deacon, Catalin Marinas, Marc Zyngier, Ard Biesheuvel,
	Arnd Bergmann, Hanjun Guo, Jonathan Cameron, Guenter Roeck

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@arm.com>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Hanjun Guo <guohanjun@huawei.com>
Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Guenter Roeck <linux@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@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



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [PATCH] arm64: Kconfig: Make CPU_BIG_ENDIAN depend on BROKEN
  2025-09-19 18:40 [PATCH] arm64: Kconfig: Make CPU_BIG_ENDIAN depend on BROKEN Will Deacon
@ 2025-09-19 19:00 ` Ard Biesheuvel
  2025-09-19 20:56 ` Marc Zyngier
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 14+ messages in thread
From: Ard Biesheuvel @ 2025-09-19 19:00 UTC (permalink / raw)
  To: Will Deacon
  Cc: linux-arm-kernel, Catalin Marinas, Marc Zyngier, Arnd Bergmann,
	Hanjun Guo, Jonathan Cameron, Guenter Roeck

On Fri, 19 Sept 2025 at 20:40, Will Deacon <will@kernel.org> 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@arm.com>
> Cc: Marc Zyngier <maz@kernel.org>
> Cc: Ard Biesheuvel <ardb@kernel.org>
> Cc: Arnd Bergmann <arnd@arndb.de>
> Cc: Hanjun Guo <guohanjun@huawei.com>
> Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> Cc: Guenter Roeck <linux@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@kernel.org>
> ---
>

Acked-by: Ard Biesheuvel <ardb@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
>


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] arm64: Kconfig: Make CPU_BIG_ENDIAN depend on BROKEN
  2025-09-19 18:40 [PATCH] arm64: Kconfig: Make CPU_BIG_ENDIAN depend on BROKEN Will Deacon
  2025-09-19 19:00 ` Ard Biesheuvel
@ 2025-09-19 20:56 ` Marc Zyngier
  2025-09-19 21:10 ` Catalin Marinas
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 14+ messages in thread
From: Marc Zyngier @ 2025-09-19 20:56 UTC (permalink / raw)
  To: Will Deacon
  Cc: linux-arm-kernel, Catalin Marinas, Ard Biesheuvel, Arnd Bergmann,
	Hanjun Guo, Jonathan Cameron, Guenter Roeck

On Fri, 19 Sep 2025 19:40:25 +0100,
Will Deacon <will@kernel.org> 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@arm.com>
> Cc: Marc Zyngier <maz@kernel.org>
> Cc: Ard Biesheuvel <ardb@kernel.org>
> Cc: Arnd Bergmann <arnd@arndb.de>
> Cc: Hanjun Guo <guohanjun@huawei.com>
> Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> Cc: Guenter Roeck <linux@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@kernel.org>

It's about time.

Acked-by: Marc Zyngier <maz@kernel.org>

	M.

-- 
Jazz isn't dead. It just smells funny.


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] arm64: Kconfig: Make CPU_BIG_ENDIAN depend on BROKEN
  2025-09-19 18:40 [PATCH] arm64: Kconfig: Make CPU_BIG_ENDIAN depend on BROKEN Will Deacon
  2025-09-19 19:00 ` Ard Biesheuvel
  2025-09-19 20:56 ` Marc Zyngier
@ 2025-09-19 21:10 ` Catalin Marinas
  2025-09-24 16:09 ` Guenter Roeck
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 14+ messages in thread
From: Catalin Marinas @ 2025-09-19 21:10 UTC (permalink / raw)
  To: Will Deacon
  Cc: linux-arm-kernel, Marc Zyngier, Ard Biesheuvel, Arnd Bergmann,
	Hanjun Guo, Jonathan Cameron, Guenter Roeck

On Fri, Sep 19, 2025 at 07:40:25PM +0100, 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@arm.com>
> Cc: Marc Zyngier <maz@kernel.org>
> Cc: Ard Biesheuvel <ardb@kernel.org>
> Cc: Arnd Bergmann <arnd@arndb.de>
> Cc: Hanjun Guo <guohanjun@huawei.com>
> Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> Cc: Guenter Roeck <linux@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@kernel.org>

Acked-by: Catalin Marinas <catalin.marinas@arm.com>


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] arm64: Kconfig: Make CPU_BIG_ENDIAN depend on BROKEN
  2025-09-19 18:40 [PATCH] arm64: Kconfig: Make CPU_BIG_ENDIAN depend on BROKEN Will Deacon
                   ` (2 preceding siblings ...)
  2025-09-19 21:10 ` Catalin Marinas
@ 2025-09-24 16:09 ` Guenter Roeck
  2025-09-25 13:01   ` Will Deacon
  2025-09-24 16:09 ` Will Deacon
                   ` (3 subsequent siblings)
  7 siblings, 1 reply; 14+ messages in thread
From: Guenter Roeck @ 2025-09-24 16:09 UTC (permalink / raw)
  To: Will Deacon, linux-arm-kernel
  Cc: Catalin Marinas, Marc Zyngier, Ard Biesheuvel, Arnd Bergmann,
	Hanjun Guo, Jonathan Cameron

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@arm.com>
> Cc: Marc Zyngier <maz@kernel.org>
> Cc: Ard Biesheuvel <ardb@kernel.org>
> Cc: Arnd Bergmann <arnd@arndb.de>
> Cc: Hanjun Guo <guohanjun@huawei.com>
> Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> Cc: Guenter Roeck <linux@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@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.
>   



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] arm64: Kconfig: Make CPU_BIG_ENDIAN depend on BROKEN
  2025-09-19 18:40 [PATCH] arm64: Kconfig: Make CPU_BIG_ENDIAN depend on BROKEN Will Deacon
                   ` (3 preceding siblings ...)
  2025-09-24 16:09 ` Guenter Roeck
@ 2025-09-24 16:09 ` Will Deacon
  2025-09-27  1:44 ` Hanjun Guo
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 14+ messages in thread
From: Will Deacon @ 2025-09-24 16:09 UTC (permalink / raw)
  To: linux-arm-kernel, Will Deacon
  Cc: catalin.marinas, kernel-team, Marc Zyngier, Ard Biesheuvel,
	Arnd Bergmann, Hanjun Guo, Jonathan Cameron, Guenter Roeck

On Fri, 19 Sep 2025 19:40:25 +0100, 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.
> 
> [...]

Applied to arm64 (for-next/misc), thanks!

[1/1] arm64: Kconfig: Make CPU_BIG_ENDIAN depend on BROKEN
      https://git.kernel.org/arm64/c/1cf89b6bf660

Cheers,
-- 
Will

https://fixes.arm64.dev
https://next.arm64.dev
https://will.arm64.dev


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] arm64: Kconfig: Make CPU_BIG_ENDIAN depend on BROKEN
  2025-09-24 16:09 ` Guenter Roeck
@ 2025-09-25 13:01   ` Will Deacon
  2025-09-25 22:54     ` Guenter Roeck
  0 siblings, 1 reply; 14+ messages in thread
From: Will Deacon @ 2025-09-25 13:01 UTC (permalink / raw)
  To: Guenter Roeck
  Cc: linux-arm-kernel, Catalin Marinas, Marc Zyngier, Ard Biesheuvel,
	Arnd Bergmann, Hanjun Guo, Jonathan Cameron

On Wed, Sep 24, 2025 at 09:09:16AM -0700, Guenter Roeck wrote:
> 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@arm.com>
> > Cc: Marc Zyngier <maz@kernel.org>
> > Cc: Ard Biesheuvel <ardb@kernel.org>
> > Cc: Arnd Bergmann <arnd@arndb.de>
> > Cc: Hanjun Guo <guohanjun@huawei.com>
> > Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> > Cc: Guenter Roeck <linux@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@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 ?

It's entirely up to you, but I'd suggest leaving it running until 6.18
is out and then turning it all off if nobody has chimed in to say
they're using this stuff.

Will


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] arm64: Kconfig: Make CPU_BIG_ENDIAN depend on BROKEN
  2025-09-25 13:01   ` Will Deacon
@ 2025-09-25 22:54     ` Guenter Roeck
  0 siblings, 0 replies; 14+ messages in thread
From: Guenter Roeck @ 2025-09-25 22:54 UTC (permalink / raw)
  To: Will Deacon
  Cc: linux-arm-kernel, Catalin Marinas, Marc Zyngier, Ard Biesheuvel,
	Arnd Bergmann, Hanjun Guo, Jonathan Cameron

On 9/25/25 06:01, Will Deacon wrote:
> On Wed, Sep 24, 2025 at 09:09:16AM -0700, Guenter Roeck wrote:
>> 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@arm.com>
>>> Cc: Marc Zyngier <maz@kernel.org>
>>> Cc: Ard Biesheuvel <ardb@kernel.org>
>>> Cc: Arnd Bergmann <arnd@arndb.de>
>>> Cc: Hanjun Guo <guohanjun@huawei.com>
>>> Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
>>> Cc: Guenter Roeck <linux@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@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 ?
> 
> It's entirely up to you, but I'd suggest leaving it running until 6.18
> is out and then turning it all off if nobody has chimed in to say
> they're using this stuff.
> 

Makes sense. I'll do that.

Thanks,
Guenter



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] arm64: Kconfig: Make CPU_BIG_ENDIAN depend on BROKEN
  2025-09-19 18:40 [PATCH] arm64: Kconfig: Make CPU_BIG_ENDIAN depend on BROKEN Will Deacon
                   ` (4 preceding siblings ...)
  2025-09-24 16:09 ` Will Deacon
@ 2025-09-27  1:44 ` Hanjun Guo
  2025-09-29  0:18 ` J. Neuschäfer
  2025-10-01  9:29 ` A. Wilcox
  7 siblings, 0 replies; 14+ messages in thread
From: Hanjun Guo @ 2025-09-27  1:44 UTC (permalink / raw)
  To: Will Deacon, linux-arm-kernel
  Cc: Catalin Marinas, Marc Zyngier, Ard Biesheuvel, Arnd Bergmann,
	Jonathan Cameron, Guenter Roeck

Hi Will,

On 2025/9/20 2: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@arm.com>
> Cc: Marc Zyngier <maz@kernel.org>
> Cc: Ard Biesheuvel <ardb@kernel.org>
> Cc: Arnd Bergmann <arnd@arndb.de>
> Cc: Hanjun Guo <guohanjun@huawei.com>
> Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> Cc: Guenter Roeck <linux@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@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.

Sorry for the late reply, the current products are still using the ARM64 
big-endian architecture on Linux, but the future evolution will not.

It will take quite a while (for years) for the end of the product life
cycle, please keep it as BROKEN.

Thanks
Hanjun


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] arm64: Kconfig: Make CPU_BIG_ENDIAN depend on BROKEN
  2025-09-19 18:40 [PATCH] arm64: Kconfig: Make CPU_BIG_ENDIAN depend on BROKEN Will Deacon
                   ` (5 preceding siblings ...)
  2025-09-27  1:44 ` Hanjun Guo
@ 2025-09-29  0:18 ` J. Neuschäfer
  2025-09-29 10:52   ` Catalin Marinas
  2025-10-01  9:29 ` A. Wilcox
  7 siblings, 1 reply; 14+ messages in thread
From: J. Neuschäfer @ 2025-09-29  0:18 UTC (permalink / raw)
  To: Will Deacon
  Cc: linux-arm-kernel, Catalin Marinas, Marc Zyngier, Ard Biesheuvel,
	Arnd Bergmann, Hanjun Guo, Jonathan Cameron, Guenter Roeck,
	Jens Reidel

On Fri, Sep 19, 2025 at 07:40:25PM +0100, 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.

As of this month (September 2025) there's a new community project [1,2]
to revive aarch64_be. Jens Reidel (CC'd) and I are involved in it. We've
been fixing several aarch64_be-related bugs, but mostly[3] in userspace,
because the kernel support is pretty solid.

So, just so it doesn't go unmentioned, there is interest in keeping
big-endian ARM64 alive.

Best regards,
J. Neuschäfer

[1]: https://aarch64.be/ (binary packages)
[2]: https://codeberg.org/neuschaefer/porting/src/branch/main/aarch64_be.md
     (status and documentation)
[3]: https://lore.kernel.org/lkml/20250726235646.254730-1-adrian@mainlining.org/


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] arm64: Kconfig: Make CPU_BIG_ENDIAN depend on BROKEN
  2025-09-29  0:18 ` J. Neuschäfer
@ 2025-09-29 10:52   ` Catalin Marinas
  2025-09-29 20:16     ` J. Neuschäfer
  0 siblings, 1 reply; 14+ messages in thread
From: Catalin Marinas @ 2025-09-29 10:52 UTC (permalink / raw)
  To: J. Neuschäfer
  Cc: Will Deacon, linux-arm-kernel, Marc Zyngier, Ard Biesheuvel,
	Arnd Bergmann, Hanjun Guo, Jonathan Cameron, Guenter Roeck,
	Jens Reidel

On Mon, Sep 29, 2025 at 02:18:55AM +0200, J. Neuschäfer wrote:
> On Fri, Sep 19, 2025 at 07:40:25PM +0100, 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.
> 
> As of this month (September 2025) there's a new community project [1,2]
> to revive aarch64_be. Jens Reidel (CC'd) and I are involved in it. We've
> been fixing several aarch64_be-related bugs, but mostly[3] in userspace,
> because the kernel support is pretty solid.
> 
> So, just so it doesn't go unmentioned, there is interest in keeping
> big-endian ARM64 alive.

It's nice to see it gets testing but is there any actual beyond you and
Jens (i.e. in production somewhere like Huawei's case)? We want to
assess whether it's worth the kernel maintenance and testing hassle and
for how long.

-- 
Catalin


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] arm64: Kconfig: Make CPU_BIG_ENDIAN depend on BROKEN
  2025-09-29 10:52   ` Catalin Marinas
@ 2025-09-29 20:16     ` J. Neuschäfer
  2025-09-30  8:57       ` Marc Zyngier
  0 siblings, 1 reply; 14+ messages in thread
From: J. Neuschäfer @ 2025-09-29 20:16 UTC (permalink / raw)
  To: Catalin Marinas
  Cc: J. Neuschäfer, Will Deacon, linux-arm-kernel, Marc Zyngier,
	Ard Biesheuvel, Arnd Bergmann, Hanjun Guo, Jonathan Cameron,
	Guenter Roeck, Jens Reidel

On Mon, Sep 29, 2025 at 11:52:48AM +0100, Catalin Marinas wrote:
> On Mon, Sep 29, 2025 at 02:18:55AM +0200, J. Neuschäfer wrote:
> > On Fri, Sep 19, 2025 at 07:40:25PM +0100, 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.
> > 
> > As of this month (September 2025) there's a new community project [1,2]
> > to revive aarch64_be. Jens Reidel (CC'd) and I are involved in it. We've
> > been fixing several aarch64_be-related bugs, but mostly[3] in userspace,
> > because the kernel support is pretty solid.
> > 
> > So, just so it doesn't go unmentioned, there is interest in keeping
> > big-endian ARM64 alive.
> 
> It's nice to see it gets testing but is there any actual beyond you and
> Jens (i.e. in production somewhere like Huawei's case)? We want to
> assess whether it's worth the kernel maintenance and testing hassle and
> for how long.

We don't have any commercial or large deployments, no. It's currently
one build host and manual testing on additional machines.

I'd be sad to see big-endian arm64 support removed because it's an
opportunity to test for endian-related bugs (in various packages, not
just the kernel) on widely available and reasonably fast hardware.

I understand the maintenance cost argument, and I'm fine with the
CONFIG_BROKEN dependency, even if it might be applied to features that
cause problems in the future (such as nested virt) — it's easy to work
around, and features can be fixed as needed. A complete removal will
likely be harder to revert, though, especially once code simplifications
are made based on supporting only little-endian. That's my concern.


Best regards,
J. Neuschäfer


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] arm64: Kconfig: Make CPU_BIG_ENDIAN depend on BROKEN
  2025-09-29 20:16     ` J. Neuschäfer
@ 2025-09-30  8:57       ` Marc Zyngier
  0 siblings, 0 replies; 14+ messages in thread
From: Marc Zyngier @ 2025-09-30  8:57 UTC (permalink / raw)
  To: "J. Neuschäfer"
  Cc: Catalin Marinas, Will Deacon, linux-arm-kernel, Ard Biesheuvel,
	Arnd Bergmann, Hanjun Guo, Jonathan Cameron, Guenter Roeck,
	Jens Reidel

On Mon, 29 Sep 2025 21:16:33 +0100,
"J. Neuschäfer" <j.neuschaefer@gmx.net> wrote:
> 
> I understand the maintenance cost argument, and I'm fine with the
> CONFIG_BROKEN dependency, even if it might be applied to features that
> cause problems in the future (such as nested virt) — it's easy to work
> around, and features can be fixed as needed.

Not really. Cross-endianness support is completely incompatible with
nested virt *by design*, and can't be worked around by SW. You'd need
to introduce incompatible changes in the architecture to support this.

Yes, this is a shame, but also a sign that architecture and
implementations have moved on.

	M.

-- 
Without deviation from the norm, progress is not possible.


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] arm64: Kconfig: Make CPU_BIG_ENDIAN depend on BROKEN
  2025-09-19 18:40 [PATCH] arm64: Kconfig: Make CPU_BIG_ENDIAN depend on BROKEN Will Deacon
                   ` (6 preceding siblings ...)
  2025-09-29  0:18 ` J. Neuschäfer
@ 2025-10-01  9:29 ` A. Wilcox
  7 siblings, 0 replies; 14+ messages in thread
From: A. Wilcox @ 2025-10-01  9:29 UTC (permalink / raw)
  To: Will Deacon
  Cc: linux-arm-kernel, Catalin Marinas, Marc Zyngier, Ard Biesheuvel,
	Arnd Bergmann, Hanjun Guo, Jonathan Cameron, Guenter Roeck

On Sep 19, 2025, at 13:40, Will Deacon <will@kernel.org> 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@arm.com>
> Cc: Marc Zyngier <maz@kernel.org>
> Cc: Ard Biesheuvel <ardb@kernel.org>
> Cc: Arnd Bergmann <arnd@arndb.de>
> Cc: Hanjun Guo <guohanjun@huawei.com>
> Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> Cc: Guenter Roeck <linux@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@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


Hi Will (and others),

We at Wilcox Technologies Inc. have actually laid out multiple
projects and initiatives based on Linux aarch64_be support.  They
aren't yet ready for public release or consumption, but they are
definitely being actively planned and developed.  One of them is a
full port of a Linux distribution.  There have been successful runs
of Gentoo[1] as well.  The musl libc intends[2] support.

What would need to be done to help keep aarch64_be alive in Linux
while we continue our internal work and finish other projects?
Would standing up a CI builder help any?  Are there existing known
issues?  I've personally been experimenting with aarch64_be since
the early 5.x kernel series and I've never found kernel-level bugs,
only userland ones.  The kernel has been solid.

aarch64_be is quite useful to have as it allows developers to have
access to BE hardware "at home" without needing a S390x or PPC64
system that can cost many thousands of dollars.

If it's simply a matter of waiting for our initiatives to launch
to show actual interest and testing, then I can try to advocate for
those initiatives to be started sooner.

In summary, Linux aarch64_be works well on Raspberry Pi 3, RockPro
64, PINE A64, among other SBCs and SoCs.  We are looking forward
to multiple future developments using it and are willing to help
out where and how we can to ensure it is not removed from the Linux
kernel.

Best,
-Anna


[1]: https://github.com/rorybolt/Gentoo-aarch64_be
[2]: https://git.musl-libc.org/cgit/musl/commit/?id=dfc1a37c441fe271dfb19c7de62acadc73e255aa


--
Anna Wilcox (she/her)
SW Engineering: C++/Rust, DevOps, POSIX, Py/Ruby
Wilcox Technologies Inc.



^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2025-10-01  9:35 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-19 18:40 [PATCH] arm64: Kconfig: Make CPU_BIG_ENDIAN depend on BROKEN Will Deacon
2025-09-19 19:00 ` Ard Biesheuvel
2025-09-19 20:56 ` Marc Zyngier
2025-09-19 21:10 ` Catalin Marinas
2025-09-24 16:09 ` Guenter Roeck
2025-09-25 13:01   ` Will Deacon
2025-09-25 22:54     ` Guenter Roeck
2025-09-24 16:09 ` Will Deacon
2025-09-27  1:44 ` Hanjun Guo
2025-09-29  0:18 ` J. Neuschäfer
2025-09-29 10:52   ` Catalin Marinas
2025-09-29 20:16     ` J. Neuschäfer
2025-09-30  8:57       ` Marc Zyngier
2025-10-01  9:29 ` A. Wilcox

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).