From: Will Deacon <will@kernel.org>
To: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org, Will Deacon <will@kernel.org>,
Arnd Bergmann <arnd@arndb.de>, Ard Biesheuvel <ardb@kernel.org>,
Eric Biggers <ebiggers@kernel.org>,
Daniel Borkmann <daniel@iogearbox.net>,
Catalin Marinas <catalin.marinas@arm.com>,
Alexei Starovoitov <ast@kernel.org>,
Oliver Upton <oupton@kernel.org>,
Herbert Xu <herbert@gondor.apana.org.au>,
Marc Zyngier <maz@kernel.org>
Subject: [PATCH v3 12/13] arm64: Kbuild: Remove vestigial big-endian support
Date: Fri, 18 Sep 2026 15:52:14 +0100 [thread overview]
Message-ID: <20260918145217.1669-13-will@kernel.org> (raw)
In-Reply-To: <20260918145217.1669-1-will@kernel.org>
Since 1cf89b6bf660 ("arm64: Kconfig: Make CPU_BIG_ENDIAN depend on
BROKEN"), CONFIG_CPU_BIG_ENDIAN has depended on BROKEN for arm64.
Remove the last traces of its existence and unconditionally force a
little-endian kernel build.
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Marc Zyngier <maz@kernel.org>
Acked-by: Eric Biggers <ebiggers@kernel.org>
Signed-off-by: Will Deacon <will@kernel.org>
---
arch/arm64/Kconfig | 35 ++++-------------------------------
arch/arm64/Makefile | 12 ++----------
2 files changed, 6 insertions(+), 41 deletions(-)
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index b5a51b0ef944..766410827f3c 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -73,7 +73,7 @@ config ARM64
select ARCH_SUPPORTS_HUGETLBFS
select ARCH_SUPPORTS_MEMORY_FAILURE
select ARCH_SUPPORTS_SHADOW_CALL_STACK if CC_HAVE_SHADOW_CALL_STACK
- select ARCH_SUPPORTS_LTO_CLANG if CPU_LITTLE_ENDIAN
+ select ARCH_SUPPORTS_LTO_CLANG
select ARCH_SUPPORTS_LTO_CLANG_THIN
select ARCH_SUPPORTS_CFI
select ARCH_SUPPORTS_ATOMIC_RMW
@@ -224,7 +224,7 @@ config ARM64
select HAVE_FUNCTION_ARG_ACCESS_API
select MMU_GATHER_RCU_TABLE_FREE
select HAVE_RSEQ
- select HAVE_RUST if RUSTC_SUPPORTS_ARM64
+ select HAVE_RUST
select HAVE_STACKPROTECTOR
select HAVE_STATIC_CALL if CFI
select HAVE_SYSCALL_TRACEPOINTS
@@ -263,10 +263,6 @@ config ARM64
help
ARM 64-bit (AArch64) Linux support.
-config RUSTC_SUPPORTS_ARM64
- def_bool y
- depends on CPU_LITTLE_ENDIAN
-
config CLANG_SUPPORTS_DYNAMIC_FTRACE_WITH_ARGS
def_bool CC_IS_CLANG
# https://github.com/ClangBuiltLinux/linux/issues/1507
@@ -1596,28 +1592,6 @@ config ARM64_LPA2
def_bool y
depends on ARM64_PA_BITS_52 && !ARM64_64K_PAGES
-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"
- depends on BROKEN
- help
- 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 NR_CPUS
int "Maximum number of CPUs (2-4096)"
range 2 4096
@@ -1855,7 +1829,6 @@ config KUSER_HELPERS
config COMPAT_VDSO
bool "Enable vDSO for 32-bit applications"
- depends on !CPU_BIG_ENDIAN
depends on (CC_IS_CLANG && LD_IS_LLD) || "$(CROSS_COMPILE_COMPAT)" != ""
default y
help
@@ -2319,7 +2292,7 @@ menu "ARMv9.6 architectural features"
config ARM64_LSUI
bool "Support Unprivileged Load Store Instructions (LSUI)"
default y
- depends on AS_HAS_LSUI && !CPU_BIG_ENDIAN
+ depends on AS_HAS_LSUI
help
The Unprivileged Load Store Instructions (LSUI) provides
variants load/store instructions that access user-space memory
@@ -2524,7 +2497,7 @@ config EFI_STUB
config EFI
bool "UEFI runtime support"
- depends on OF && !CPU_BIG_ENDIAN
+ depends on OF
depends on KERNEL_MODE_NEON
select ARCH_SUPPORTS_ACPI
select LIBFDT
diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile
index 6b005c8fef70..04e1a0d12f8f 100644
--- a/arch/arm64/Makefile
+++ b/arch/arm64/Makefile
@@ -119,20 +119,12 @@ KBUILD_CFLAGS += -ffixed-x18
KBUILD_RUSTFLAGS += -Zfixed-x18
endif
-ifeq ($(CONFIG_CPU_BIG_ENDIAN), y)
-KBUILD_CPPFLAGS += -mbig-endian
-CHECKFLAGS += -D__AARCH64EB__
-# Prefer the baremetal ELF build target, but not all toolchains include
-# it so fall back to the standard linux version if needed.
-KBUILD_LDFLAGS += -EB $(call ld-option, -maarch64elfb, -maarch64linuxb -z norelro)
-UTS_MACHINE := aarch64_be
-else
KBUILD_CPPFLAGS += -mlittle-endian
CHECKFLAGS += -D__AARCH64EL__
-# Same as above, prefer ELF but fall back to linux target if needed.
+# Prefer the baremetal ELF build target, but not all toolchains include
+# it so fall back to the standard linux version if needed.
KBUILD_LDFLAGS += -EL $(call ld-option, -maarch64elf, -maarch64linux -z norelro)
UTS_MACHINE := aarch64
-endif
ifeq ($(CONFIG_LD_IS_LLD), y)
KBUILD_LDFLAGS += -z norelro
--
2.55.0.1082.g2b9226bbc0-goog
next prev parent reply other threads:[~2026-09-18 14:53 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-18 14:52 [PATCH v3 00/14] arm64: Remove unused big-endian support Will Deacon
2026-09-18 14:52 ` [PATCH v3 01/13] selftests/arm64: Remove " Will Deacon
2026-09-20 19:56 ` Thomas Gleixner
2026-09-18 14:52 ` [PATCH v3 02/13] arm64: bpf: Remove big-endian support from the JIT compiler Will Deacon
2026-09-18 14:52 ` [PATCH v3 03/13] arm64: crypto: Assume a little-endian kernel Will Deacon
2026-09-18 14:52 ` [PATCH v3 04/13] arm64: lib: Assume a little-endian kernel in custom library routines Will Deacon
2026-09-18 14:52 ` [PATCH v3 05/13] arm64: lib: Assume a little-endian kernel in optimised string routines Will Deacon
2026-09-18 14:52 ` [PATCH v3 06/13] arm64: assembler: Remove endianness helper macros Will Deacon
2026-09-18 14:52 ` [PATCH v3 07/13] arm64: vdso32: Always build compat vDSO object as little-endian Will Deacon
2026-09-18 14:52 ` [PATCH v3 08/13] KVM: arm64: Remove support for a big-endian hypervisor object Will Deacon
2026-09-18 14:52 ` [PATCH v3 09/13] arm64: Remove all usage of CONFIG_CPU_BIG_ENDIAN Will Deacon
2026-09-18 14:52 ` [PATCH v3 10/13] arm64: Remove all usage of __AARCH64EB__ Will Deacon
2026-09-18 14:52 ` [PATCH v3 11/13] crypto: hisilicon/sec2: Remove check of CONFIG_CPU_LITTLE_ENDIAN Will Deacon
2026-09-23 7:04 ` liulongfang
2026-09-18 14:52 ` Will Deacon [this message]
2026-09-21 10:24 ` [PATCH v3 12/13] arm64: Kbuild: Remove vestigial big-endian support Catalin Marinas
2026-09-22 15:10 ` Will Deacon
2026-09-22 15:17 ` Catalin Marinas
2026-09-22 15:32 ` Will Deacon
2026-09-18 14:52 ` [PATCH v3 13/13] drivers: Kconfig: Simplify dependencies on ARM64 && !CPU_BIG_ENDIAN Will Deacon
2026-09-18 16:22 ` [PATCH v3 00/14] arm64: Remove unused big-endian support Mark Rutland
2026-09-23 18:18 ` Catalin Marinas
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260918145217.1669-13-will@kernel.org \
--to=will@kernel.org \
--cc=ardb@kernel.org \
--cc=arnd@arndb.de \
--cc=ast@kernel.org \
--cc=catalin.marinas@arm.com \
--cc=daniel@iogearbox.net \
--cc=ebiggers@kernel.org \
--cc=herbert@gondor.apana.org.au \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=maz@kernel.org \
--cc=oupton@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.