[PATCH v3 00/14] arm64: Remove unused big-endian support

From: Will Deacon

Date: Fri Sep 18 2026 - 11:08:29 EST


Hi all,

This is version three of the big-endian removal series previously posted
here:

v1: https://lore.kernel.org/r/20260811140132.22778-1-will@xxxxxxxxxx/
v2: https://lore.kernel.org/r/20260907163726.17104-1-will@xxxxxxxxxx

Changes since v2 include:
* Retain support for emitting absolute symbol references with PIE
* Retain endianness handling on EFI MMU-enabled boot path
* Invert compile-time endianness check in Hisilicon sec2 driver
* Added some tags

Cheers,

Will

Cc: Arnd Bergmann <arnd@xxxxxxxx>
Cc: Ard Biesheuvel <ardb@xxxxxxxxxx>
Cc: Eric Biggers <ebiggers@xxxxxxxxxx>
Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxx>
Cc: Oliver Upton <oupton@xxxxxxxxxx>
Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Cc: Marc Zyngier <maz@xxxxxxxxxx>

--->8

Will Deacon (13):
selftests/arm64: Remove big-endian support
arm64: bpf: Remove big-endian support from the JIT compiler
arm64: crypto: Assume a little-endian kernel
arm64: lib: Assume a little-endian kernel in custom library routines
arm64: lib: Assume a little-endian kernel in optimised string routines
arm64: assembler: Remove endianness helper macros
arm64: vdso32: Always build compat vDSO object as little-endian
KVM: arm64: Remove support for a big-endian hypervisor object
arm64: Remove all usage of CONFIG_CPU_BIG_ENDIAN
arm64: Remove all usage of __AARCH64EB__
crypto: hisilicon/sec2: Remove check of CONFIG_CPU_LITTLE_ENDIAN
arm64: Kbuild: Remove vestigial big-endian support
drivers: Kconfig: Simplify dependencies on ARM64 && !CPU_BIG_ENDIAN

arch/arm64/Kconfig | 35 +-------
arch/arm64/Makefile | 12 +--
arch/arm64/crypto/aes-ce-ccm-core.S | 4 +-
arch/arm64/crypto/aes-neonbs-core.S | 4 +-
arch/arm64/crypto/ghash-ce-core.S | 6 +-
arch/arm64/crypto/sm4-ce-cipher-core.S | 4 +-
arch/arm64/include/asm/assembler.h | 31 -------
arch/arm64/include/asm/compat.h | 14 ---
arch/arm64/include/asm/elf.h | 12 ---
arch/arm64/include/asm/processor.h | 2 -
arch/arm64/include/asm/ptrace.h | 6 --
arch/arm64/include/asm/sysreg.h | 50 +++--------
arch/arm64/include/asm/thread_info.h | 5 --
arch/arm64/include/asm/word-at-a-time.h | 6 --
arch/arm64/include/uapi/asm/byteorder.h | 4 -
arch/arm64/kernel/fpsimd.c | 21 +----
arch/arm64/kernel/head.S | 3 +-
arch/arm64/kernel/image.h | 18 +---
arch/arm64/kernel/kexec_image.c | 5 +-
arch/arm64/kernel/kgdb.c | 6 +-
arch/arm64/kernel/ptrace.c | 8 +-
arch/arm64/kernel/signal32.c | 13 ---
arch/arm64/kernel/sys32.c | 5 --
arch/arm64/kernel/vdso32/Makefile | 4 -
arch/arm64/kvm/hyp/include/nvhe/spinlock.h | 4 -
arch/arm64/kvm/hyp/nvhe/gen-hyprel.c | 16 ----
arch/arm64/lib/csum.c | 17 ----
arch/arm64/lib/memchr.S | 2 +-
arch/arm64/lib/memcmp.S | 2 -
arch/arm64/lib/strcmp.S | 34 +------
arch/arm64/lib/strlen.S | 26 ------
arch/arm64/lib/strncmp.S | 93 ++------------------
arch/arm64/lib/strnlen.S | 16 +---
arch/arm64/mm/extable.c | 5 --
arch/arm64/net/bpf_jit_comp.c | 11 ---
drivers/crypto/hisilicon/sec2/sec_main.c | 2 +-
drivers/hv/Kconfig | 3 +-
drivers/misc/vmw_vmci/Kconfig | 2 +-
drivers/net/ethernet/microsoft/Kconfig | 2 +-
drivers/soc/tegra/Kconfig | 5 --
tools/testing/selftests/arm64/fp/fp-ptrace.c | 19 +---
tools/testing/selftests/rseq/rseq-arm64.h | 5 --
42 files changed, 53 insertions(+), 489 deletions(-)

--
2.55.0.1082.g2b9226bbc0-goog