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 v2 06/14] arm64: assembler: Remove endianness helper macros
Date: Mon, 7 Sep 2026 17:37:17 +0100 [thread overview]
Message-ID: <20260907163726.17104-7-will@kernel.org> (raw)
In-Reply-To: <20260907163726.17104-1-will@kernel.org>
The CPU_LE()/CPU_BE() helper macros are only used by head.S. Since
big-endian support depends on BROKEN, remove the last users along with
the macro definitions. The unused regs_to_64() assembly macro, which
somewhat bizarrely behaves differently depend on the endianness, is also
removed.
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/include/asm/assembler.h | 31 ------------------------------
arch/arm64/kernel/head.S | 3 +--
2 files changed, 1 insertion(+), 33 deletions(-)
diff --git a/arch/arm64/include/asm/assembler.h b/arch/arm64/include/asm/assembler.h
index 0b58b550e8dc..42a167a75486 100644
--- a/arch/arm64/include/asm/assembler.h
+++ b/arch/arm64/include/asm/assembler.h
@@ -129,37 +129,6 @@ lr .req x30 // link register
b \label
.endm
-/*
- * Select code when configured for BE.
- */
-#ifdef CONFIG_CPU_BIG_ENDIAN
-#define CPU_BE(code...) code
-#else
-#define CPU_BE(code...)
-#endif
-
-/*
- * Select code when configured for LE.
- */
-#ifdef CONFIG_CPU_BIG_ENDIAN
-#define CPU_LE(code...)
-#else
-#define CPU_LE(code...) code
-#endif
-
-/*
- * Define a macro that constructs a 64-bit value by concatenating two
- * 32-bit registers. Note that on big endian systems the order of the
- * registers is swapped.
- */
-#ifndef CONFIG_CPU_BIG_ENDIAN
- .macro regs_to_64, rd, lbits, hbits
-#else
- .macro regs_to_64, rd, hbits, lbits
-#endif
- orr \rd, \lbits, \hbits, lsl #32
- .endm
-
/*
* Pseudo-ops for PC-relative adr/ldr/str <reg>, <symbol> where
* <symbol> is within the range +/- 4 GB of the PC.
diff --git a/arch/arm64/kernel/head.S b/arch/arm64/kernel/head.S
index 87a822e5c4ca..8951ce693552 100644
--- a/arch/arm64/kernel/head.S
+++ b/arch/arm64/kernel/head.S
@@ -138,8 +138,7 @@ SYM_CODE_START_LOCAL(record_mmu_state)
b.ne 0f
mrs x19, sctlr_el2
0:
-CPU_LE( tbnz x19, #SCTLR_ELx_EE_SHIFT, 1f )
-CPU_BE( tbz x19, #SCTLR_ELx_EE_SHIFT, 1f )
+ tbnz x19, #SCTLR_ELx_EE_SHIFT, 1f
tst x19, #SCTLR_ELx_C // Z := (C == 0)
and x19, x19, #SCTLR_ELx_M // isolate M bit
csel x19, xzr, x19, eq // clear x19 if Z
--
2.55.0.979.g7e5102b832-goog
next prev parent reply other threads:[~2026-09-07 16:38 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-07 16:37 [PATCH v2 00/14] arm64: Remove unused big-endian support Will Deacon
2026-09-07 16:37 ` [PATCH v2 01/14] selftests/arm64: Remove " Will Deacon
2026-09-07 16:37 ` [PATCH v2 02/14] arm64: bpf: Remove big-endian support from the JIT compiler Will Deacon
2026-09-07 18:49 ` Alexei Starovoitov
2026-09-07 16:37 ` [PATCH v2 03/14] arm64: crypto: Assume a little-endian kernel Will Deacon
2026-09-07 16:37 ` [PATCH v2 04/14] arm64: lib: Assume a little-endian kernel in custom library routines Will Deacon
2026-09-07 16:37 ` [PATCH v2 05/14] arm64: lib: Assume a little-endian kernel in optimised string routines Will Deacon
2026-09-07 16:37 ` Will Deacon [this message]
2026-09-07 16:37 ` [PATCH v2 07/14] arm64: head: Force little-endian early during boot Will Deacon
2026-09-08 17:12 ` Ard Biesheuvel
2026-09-09 11:32 ` Will Deacon
2026-09-07 16:37 ` [PATCH v2 08/14] arm64: vdso32: Always build compat vDSO object as little-endian Will Deacon
2026-09-07 16:37 ` [PATCH v2 09/14] KVM: arm64: Remove support for a big-endian hypervisor object Will Deacon
2026-09-07 16:37 ` [PATCH v2 10/14] arm64: Remove all usage of CONFIG_CPU_BIG_ENDIAN Will Deacon
2026-09-07 16:37 ` [PATCH v2 11/14] arm64: Remove all usage of __AARCH64EB__ Will Deacon
2026-09-07 16:37 ` [PATCH v2 12/14] arm64: image: Remove endianness handling for generating image header Will Deacon
2026-09-09 12:28 ` Will Deacon
2026-09-07 16:37 ` [PATCH v2 13/14] arm64: Kbuild: Remove vestigial big-endian support Will Deacon
2026-09-07 16:37 ` [PATCH v2 14/14] drivers: Kconfig: Simplify dependencies on ARM64 && !CPU_BIG_ENDIAN Will Deacon
2026-09-07 17:04 ` Michael Kelley
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=20260907163726.17104-7-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.