All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] ARM: assembler: clean up byte swapping macros
@ 2020-12-09 10:36 Ard Biesheuvel
  2020-12-09 10:36 ` [PATCH 1/3] ARM: assembler: generalize byte swapping macro into rev_32 Ard Biesheuvel
                   ` (4 more replies)
  0 siblings, 5 replies; 12+ messages in thread
From: Ard Biesheuvel @ 2020-12-09 10:36 UTC (permalink / raw)
  To: linux
  Cc: Geert Uytterhoeven, Eric Biggers, Linus Walleij, Nicolas Pitre,
	Ard Biesheuvel, linux-arm-kernel

Consolidate the byte swapping macros used in various places, and use
them throughout. Patches #2 and #3 will be sent to Herbert for merging
via the crypto tree once patch #1 is merged (or if Russell prefers to
ack patch #1 instead, the whole series can go through the crypto tree)

Cc: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Nicolas Pitre <nico@fluxnic.net>
Cc: Eric Biggers <ebiggers@google.com>
Cc: Linus Walleij <linus.walleij@linaro.org>

Ard Biesheuvel (3):
  ARM: assembler: generalize byte swapping macro into rev_32
  crypto: arm/aes-scalar - switch to common rev_32/mov_l macros
  crypto: arm/chacha-scalar - switch to common rev_32 macro

 arch/arm/boot/compressed/head.S      |  5 +--
 arch/arm/crypto/aes-cipher-core.S    | 42 +++++--------------
 arch/arm/crypto/chacha-scalar-core.S | 43 ++++++--------------
 arch/arm/include/asm/assembler.h     | 11 +++++
 4 files changed, 35 insertions(+), 66 deletions(-)

-- 
2.17.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 1/3] ARM: assembler: generalize byte swapping macro into rev_32
  2020-12-09 10:36 [PATCH 0/3] ARM: assembler: clean up byte swapping macros Ard Biesheuvel
@ 2020-12-09 10:36 ` Ard Biesheuvel
  2020-12-09 11:05   ` Geert Uytterhoeven
  2020-12-11 22:53   ` Linus Walleij
  2020-12-09 10:36 ` [PATCH 2/3] crypto: arm/aes-scalar - switch to common rev_32/mov_l macros Ard Biesheuvel
                   ` (3 subsequent siblings)
  4 siblings, 2 replies; 12+ messages in thread
From: Ard Biesheuvel @ 2020-12-09 10:36 UTC (permalink / raw)
  To: linux
  Cc: Geert Uytterhoeven, Eric Biggers, Linus Walleij, Nicolas Pitre,
	Ard Biesheuvel, linux-arm-kernel

Take the 4 instruction byte swapping sequence from the decompressor's
head.S, and turn it into a rev_32 GAS macro for general use. While
at it, make it use the 'rev' instruction when compiling for v6 or
later.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 arch/arm/boot/compressed/head.S  |  5 +----
 arch/arm/include/asm/assembler.h | 11 +++++++++++
 2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
index 804d66668019..d70c78ab68c8 100644
--- a/arch/arm/boot/compressed/head.S
+++ b/arch/arm/boot/compressed/head.S
@@ -174,10 +174,7 @@
 		.macro	be32tocpu, val, tmp
 #ifndef __ARMEB__
 		/* convert to little endian */
-		eor	\tmp, \val, \val, ror #16
-		bic	\tmp, \tmp, #0x00ff0000
-		mov	\val, \val, ror #8
-		eor	\val, \val, \tmp, lsr #8
+		rev_32	\val, \tmp
 #endif
 		.endm
 
diff --git a/arch/arm/include/asm/assembler.h b/arch/arm/include/asm/assembler.h
index 6ed30421f697..a674eba4cd27 100644
--- a/arch/arm/include/asm/assembler.h
+++ b/arch/arm/include/asm/assembler.h
@@ -578,4 +578,15 @@ THUMB(	orr	\reg , \reg , #PSR_T_BIT	)
 	__adldst_l	str, \src, \sym, \tmp, \cond
 	.endm
 
+	.macro		rev_32, val:req, tmp:req
+	.if		__LINUX_ARM_ARCH__ < 6
+	eor		\tmp, \val, \val, ror #16
+	bic		\tmp, \tmp, #0x00ff0000
+	mov		\val, \val, ror #8
+	eor		\val, \val, \tmp, lsr #8
+	.else
+	rev		\val, \val
+	.endif
+	.endm
+
 #endif /* __ASM_ASSEMBLER_H__ */
-- 
2.17.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 2/3] crypto: arm/aes-scalar - switch to common rev_32/mov_l macros
  2020-12-09 10:36 [PATCH 0/3] ARM: assembler: clean up byte swapping macros Ard Biesheuvel
  2020-12-09 10:36 ` [PATCH 1/3] ARM: assembler: generalize byte swapping macro into rev_32 Ard Biesheuvel
@ 2020-12-09 10:36 ` Ard Biesheuvel
  2020-12-09 11:13   ` Geert Uytterhoeven
  2020-12-11 22:55   ` Linus Walleij
  2020-12-09 10:36 ` [PATCH 3/3] crypto: arm/chacha-scalar - switch to common rev_32 macro Ard Biesheuvel
                   ` (2 subsequent siblings)
  4 siblings, 2 replies; 12+ messages in thread
From: Ard Biesheuvel @ 2020-12-09 10:36 UTC (permalink / raw)
  To: linux
  Cc: Geert Uytterhoeven, Eric Biggers, Linus Walleij, Nicolas Pitre,
	Ard Biesheuvel, linux-arm-kernel

The scalar AES implementation has some locally defined macros which
reimplement things that are now available in macros defined in
assembler.h. So let's switch to those.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 arch/arm/crypto/aes-cipher-core.S | 42 +++++---------------
 1 file changed, 10 insertions(+), 32 deletions(-)

diff --git a/arch/arm/crypto/aes-cipher-core.S b/arch/arm/crypto/aes-cipher-core.S
index 472e56d09eea..5acc97aa9e5a 100644
--- a/arch/arm/crypto/aes-cipher-core.S
+++ b/arch/arm/crypto/aes-cipher-core.S
@@ -99,28 +99,6 @@
 	__hround	\out2, \out3, \in2, \in1, \in0, \in3, \in1, \in0, 0, \sz, \op, \oldcpsr
 	.endm
 
-	.macro		__rev, out, in
-	.if		__LINUX_ARM_ARCH__ < 6
-	lsl		t0, \in, #24
-	and		t1, \in, #0xff00
-	and		t2, \in, #0xff0000
-	orr		\out, t0, \in, lsr #24
-	orr		\out, \out, t1, lsl #8
-	orr		\out, \out, t2, lsr #8
-	.else
-	rev		\out, \in
-	.endif
-	.endm
-
-	.macro		__adrl, out, sym, c
-	.if		__LINUX_ARM_ARCH__ < 7
-	ldr\c		\out, =\sym
-	.else
-	movw\c		\out, #:lower16:\sym
-	movt\c		\out, #:upper16:\sym
-	.endif
-	.endm
-
 	.macro		do_crypt, round, ttab, ltab, bsz
 	push		{r3-r11, lr}
 
@@ -133,10 +111,10 @@
 	ldr		r7, [in, #12]
 
 #ifdef CONFIG_CPU_BIG_ENDIAN
-	__rev		r4, r4
-	__rev		r5, r5
-	__rev		r6, r6
-	__rev		r7, r7
+	rev_32		r4, t0
+	rev_32		r5, t0
+	rev_32		r6, t0
+	rev_32		r7, t0
 #endif
 
 	eor		r4, r4, r8
@@ -144,7 +122,7 @@
 	eor		r6, r6, r10
 	eor		r7, r7, r11
 
-	__adrl		ttab, \ttab
+	mov_l		ttab, \ttab
 	/*
 	 * Disable interrupts and prefetch the 1024-byte 'ft' or 'it' table into
 	 * L1 cache, assuming cacheline size >= 32.  This is a hardening measure
@@ -180,7 +158,7 @@
 2:	.ifb		\ltab
 	add		ttab, ttab, #1
 	.else
-	__adrl		ttab, \ltab
+	mov_l		ttab, \ltab
 	// Prefetch inverse S-box for final round; see explanation above
 	.set		i, 0
 	.rept		256 / 64
@@ -194,10 +172,10 @@
 	\round		r4, r5, r6, r7, r8, r9, r10, r11, \bsz, b, rounds
 
 #ifdef CONFIG_CPU_BIG_ENDIAN
-	__rev		r4, r4
-	__rev		r5, r5
-	__rev		r6, r6
-	__rev		r7, r7
+	rev_32		r4, t0
+	rev_32		r5, t0
+	rev_32		r6, t0
+	rev_32		r7, t0
 #endif
 
 	ldr		out, [sp]
-- 
2.17.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 3/3] crypto: arm/chacha-scalar - switch to common rev_32 macro
  2020-12-09 10:36 [PATCH 0/3] ARM: assembler: clean up byte swapping macros Ard Biesheuvel
  2020-12-09 10:36 ` [PATCH 1/3] ARM: assembler: generalize byte swapping macro into rev_32 Ard Biesheuvel
  2020-12-09 10:36 ` [PATCH 2/3] crypto: arm/aes-scalar - switch to common rev_32/mov_l macros Ard Biesheuvel
@ 2020-12-09 10:36 ` Ard Biesheuvel
  2020-12-09 11:19   ` Geert Uytterhoeven
  2020-12-11 22:56   ` Linus Walleij
  2020-12-09 11:02 ` [PATCH 0/3] ARM: assembler: clean up byte swapping macros Geert Uytterhoeven
  2020-12-09 14:48 ` Nicolas Pitre
  4 siblings, 2 replies; 12+ messages in thread
From: Ard Biesheuvel @ 2020-12-09 10:36 UTC (permalink / raw)
  To: linux
  Cc: Geert Uytterhoeven, Eric Biggers, Linus Walleij, Nicolas Pitre,
	Ard Biesheuvel, linux-arm-kernel

Drop the local definition of a byte swapping macro and use the common
one instead.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 arch/arm/crypto/chacha-scalar-core.S | 43 ++++++--------------
 1 file changed, 13 insertions(+), 30 deletions(-)

diff --git a/arch/arm/crypto/chacha-scalar-core.S b/arch/arm/crypto/chacha-scalar-core.S
index 2985b80a45b5..5d06153e8b05 100644
--- a/arch/arm/crypto/chacha-scalar-core.S
+++ b/arch/arm/crypto/chacha-scalar-core.S
@@ -41,32 +41,15 @@
 	X14	.req	r12
 	X15	.req	r14
 
-.macro __rev		out, in,  t0, t1, t2
-.if __LINUX_ARM_ARCH__ >= 6
-	rev		\out, \in
-.else
-	lsl		\t0, \in, #24
-	and		\t1, \in, #0xff00
-	and		\t2, \in, #0xff0000
-	orr		\out, \t0, \in, lsr #24
-	orr		\out, \out, \t1, lsl #8
-	orr		\out, \out, \t2, lsr #8
-.endif
-.endm
-
-.macro _le32_bswap	x,  t0, t1, t2
+.macro _le32_bswap_4x	a, b, c, d,  tmp
 #ifdef __ARMEB__
-	__rev		\x, \x,  \t0, \t1, \t2
+	rev_32		\a,  \tmp
+	rev_32		\b,  \tmp
+	rev_32		\c,  \tmp
+	rev_32		\d,  \tmp
 #endif
 .endm
 
-.macro _le32_bswap_4x	a, b, c, d,  t0, t1, t2
-	_le32_bswap	\a,  \t0, \t1, \t2
-	_le32_bswap	\b,  \t0, \t1, \t2
-	_le32_bswap	\c,  \t0, \t1, \t2
-	_le32_bswap	\d,  \t0, \t1, \t2
-.endm
-
 .macro __ldrd		a, b, src, offset
 #if __LINUX_ARM_ARCH__ >= 6
 	ldrd		\a, \b, [\src, #\offset]
@@ -200,7 +183,7 @@
 	add		X1, X1, r9
 	add		X2, X2, r10
 	add		X3, X3, r11
-	_le32_bswap_4x	X0, X1, X2, X3,  r8, r9, r10
+	_le32_bswap_4x	X0, X1, X2, X3,  r8
 	ldmia		r12!, {r8-r11}
 	eor		X0, X0, r8
 	eor		X1, X1, r9
@@ -216,7 +199,7 @@
 	ldmia		r12!, {X0-X3}
 	add		X6, r10, X6, ror #brot
 	add		X7, r11, X7, ror #brot
-	_le32_bswap_4x	X4, X5, X6, X7,  r8, r9, r10
+	_le32_bswap_4x	X4, X5, X6, X7,  r8
 	eor		X4, X4, X0
 	eor		X5, X5, X1
 	eor		X6, X6, X2
@@ -231,7 +214,7 @@
 	add		r1, r1, r9		// x9
 	add		r6, r6, r10		// x10
 	add		r7, r7, r11		// x11
-	_le32_bswap_4x	r0, r1, r6, r7,  r8, r9, r10
+	_le32_bswap_4x	r0, r1, r6, r7,  r8
 	ldmia		r12!, {r8-r11}
 	eor		r0, r0, r8		// x8
 	eor		r1, r1, r9		// x9
@@ -245,7 +228,7 @@
 	add		r3, r9, r3, ror #drot	// x13
 	add		r4, r10, r4, ror #drot	// x14
 	add		r5, r11, r5, ror #drot	// x15
-	_le32_bswap_4x	r2, r3, r4, r5,  r9, r10, r11
+	_le32_bswap_4x	r2, r3, r4, r5,  r9
 	  ldr		r9, [sp, #72]		// load LEN
 	eor		r2, r2, r0		// x12
 	eor		r3, r3, r1		// x13
@@ -301,7 +284,7 @@
 	add		X1, X1, r9
 	add		X2, X2, r10
 	add		X3, X3, r11
-	_le32_bswap_4x	X0, X1, X2, X3,  r8, r9, r10
+	_le32_bswap_4x	X0, X1, X2, X3,  r8
 	stmia		r14!, {X0-X3}
 
 	// Save keystream for x4-x7
@@ -311,7 +294,7 @@
 	add		X5, r9, X5, ror #brot
 	add		X6, r10, X6, ror #brot
 	add		X7, r11, X7, ror #brot
-	_le32_bswap_4x	X4, X5, X6, X7,  r8, r9, r10
+	_le32_bswap_4x	X4, X5, X6, X7,  r8
 	  add		r8, sp, #64
 	stmia		r14!, {X4-X7}
 
@@ -323,7 +306,7 @@
 	add		r1, r1, r9		// x9
 	add		r6, r6, r10		// x10
 	add		r7, r7, r11		// x11
-	_le32_bswap_4x	r0, r1, r6, r7,  r8, r9, r10
+	_le32_bswap_4x	r0, r1, r6, r7,  r8
 	stmia		r14!, {r0,r1,r6,r7}
 	__ldrd		r8, r9, sp, 144
 	__ldrd		r10, r11, sp, 152
@@ -331,7 +314,7 @@
 	add		r3, r9, r3, ror #drot	// x13
 	add		r4, r10, r4, ror #drot	// x14
 	add		r5, r11, r5, ror #drot	// x15
-	_le32_bswap_4x	r2, r3, r4, r5,  r9, r10, r11
+	_le32_bswap_4x	r2, r3, r4, r5,  r9
 	stmia		r14, {r2-r5}
 
 	// Stack: ks0-ks15 unused0-unused7 x0-x15 OUT IN LEN
-- 
2.17.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 0/3] ARM: assembler: clean up byte swapping macros
  2020-12-09 10:36 [PATCH 0/3] ARM: assembler: clean up byte swapping macros Ard Biesheuvel
                   ` (2 preceding siblings ...)
  2020-12-09 10:36 ` [PATCH 3/3] crypto: arm/chacha-scalar - switch to common rev_32 macro Ard Biesheuvel
@ 2020-12-09 11:02 ` Geert Uytterhoeven
  2020-12-09 14:48 ` Nicolas Pitre
  4 siblings, 0 replies; 12+ messages in thread
From: Geert Uytterhoeven @ 2020-12-09 11:02 UTC (permalink / raw)
  To: Ard Biesheuvel
  Cc: Geert Uytterhoeven, Eric Biggers, Linus Walleij, Nicolas Pitre,
	Russell King, Linux ARM

Hi Ard,

Thanks for your series!

On Wed, Dec 9, 2020 at 11:38 AM Ard Biesheuvel <ardb@kernel.org> wrote:
> Consolidate the byte swapping macros used in various places, and use
> them throughout. Patches #2 and #3 will be sent to Herbert for merging
> via the crypto tree once patch #1 is merged (or if Russell prefers to
> ack patch #1 instead, the whole series can go through the crypto tree)

Patch #1 depends on commit 3c0899539253e7e6 ("ARM: 9035/1: uncompress:
Add be32tocpu macro") in Russell's for-next branch, hence it cannot be
applied to the crypto tree yet.

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 1/3] ARM: assembler: generalize byte swapping macro into rev_32
  2020-12-09 10:36 ` [PATCH 1/3] ARM: assembler: generalize byte swapping macro into rev_32 Ard Biesheuvel
@ 2020-12-09 11:05   ` Geert Uytterhoeven
  2020-12-11 22:53   ` Linus Walleij
  1 sibling, 0 replies; 12+ messages in thread
From: Geert Uytterhoeven @ 2020-12-09 11:05 UTC (permalink / raw)
  To: Ard Biesheuvel
  Cc: Linus Walleij, Eric Biggers, Russell King, Linux ARM, Nicolas Pitre

Hi Ard,

On Wed, Dec 9, 2020 at 11:38 AM Ard Biesheuvel <ardb@kernel.org> wrote:
> Take the 4 instruction byte swapping sequence from the decompressor's
> head.S, and turn it into a rev_32 GAS macro for general use. While
> at it, make it use the 'rev' instruction when compiling for v6 or
> later.
>
> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>

Thanks for your patch!

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>

Works fine on v7, so:
Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 2/3] crypto: arm/aes-scalar - switch to common rev_32/mov_l macros
  2020-12-09 10:36 ` [PATCH 2/3] crypto: arm/aes-scalar - switch to common rev_32/mov_l macros Ard Biesheuvel
@ 2020-12-09 11:13   ` Geert Uytterhoeven
  2020-12-11 22:55   ` Linus Walleij
  1 sibling, 0 replies; 12+ messages in thread
From: Geert Uytterhoeven @ 2020-12-09 11:13 UTC (permalink / raw)
  To: Ard Biesheuvel
  Cc: Linus Walleij, Eric Biggers, Russell King, Linux ARM, Nicolas Pitre

On Wed, Dec 9, 2020 at 11:38 AM Ard Biesheuvel <ardb@kernel.org> wrote:
> The scalar AES implementation has some locally defined macros which
> reimplement things that are now available in macros defined in
> assembler.h. So let's switch to those.
>
> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 3/3] crypto: arm/chacha-scalar - switch to common rev_32 macro
  2020-12-09 10:36 ` [PATCH 3/3] crypto: arm/chacha-scalar - switch to common rev_32 macro Ard Biesheuvel
@ 2020-12-09 11:19   ` Geert Uytterhoeven
  2020-12-11 22:56   ` Linus Walleij
  1 sibling, 0 replies; 12+ messages in thread
From: Geert Uytterhoeven @ 2020-12-09 11:19 UTC (permalink / raw)
  To: Ard Biesheuvel
  Cc: Linus Walleij, Eric Biggers, Russell King, Linux ARM, Nicolas Pitre

On Wed, Dec 9, 2020 at 11:38 AM Ard Biesheuvel <ardb@kernel.org> wrote:
> Drop the local definition of a byte swapping macro and use the common
> one instead.
>
> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 0/3] ARM: assembler: clean up byte swapping macros
  2020-12-09 10:36 [PATCH 0/3] ARM: assembler: clean up byte swapping macros Ard Biesheuvel
                   ` (3 preceding siblings ...)
  2020-12-09 11:02 ` [PATCH 0/3] ARM: assembler: clean up byte swapping macros Geert Uytterhoeven
@ 2020-12-09 14:48 ` Nicolas Pitre
  4 siblings, 0 replies; 12+ messages in thread
From: Nicolas Pitre @ 2020-12-09 14:48 UTC (permalink / raw)
  To: Ard Biesheuvel
  Cc: linux-arm-kernel, Linus Walleij, linux, Geert Uytterhoeven, Eric Biggers

On Wed, 9 Dec 2020, Ard Biesheuvel wrote:

> Consolidate the byte swapping macros used in various places, and use
> them throughout. Patches #2 and #3 will be sent to Herbert for merging
> via the crypto tree once patch #1 is merged (or if Russell prefers to
> ack patch #1 instead, the whole series can go through the crypto tree)
> 
> Cc: Geert Uytterhoeven <geert+renesas@glider.be>
> Cc: Nicolas Pitre <nico@fluxnic.net>
> Cc: Eric Biggers <ebiggers@google.com>
> Cc: Linus Walleij <linus.walleij@linaro.org>

Reviewed-by: Nicolas Pitre <nico@fluxnic.net>

> 
> Ard Biesheuvel (3):
>   ARM: assembler: generalize byte swapping macro into rev_32
>   crypto: arm/aes-scalar - switch to common rev_32/mov_l macros
>   crypto: arm/chacha-scalar - switch to common rev_32 macro
> 
>  arch/arm/boot/compressed/head.S      |  5 +--
>  arch/arm/crypto/aes-cipher-core.S    | 42 +++++--------------
>  arch/arm/crypto/chacha-scalar-core.S | 43 ++++++--------------
>  arch/arm/include/asm/assembler.h     | 11 +++++
>  4 files changed, 35 insertions(+), 66 deletions(-)
> 
> -- 
> 2.17.1
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 1/3] ARM: assembler: generalize byte swapping macro into rev_32
  2020-12-09 10:36 ` [PATCH 1/3] ARM: assembler: generalize byte swapping macro into rev_32 Ard Biesheuvel
  2020-12-09 11:05   ` Geert Uytterhoeven
@ 2020-12-11 22:53   ` Linus Walleij
  1 sibling, 0 replies; 12+ messages in thread
From: Linus Walleij @ 2020-12-11 22:53 UTC (permalink / raw)
  To: Ard Biesheuvel
  Cc: Geert Uytterhoeven, Eric Biggers, Russell King, Linux ARM, Nicolas Pitre

On Wed, Dec 9, 2020 at 11:38 AM Ard Biesheuvel <ardb@kernel.org> wrote:

> Take the 4 instruction byte swapping sequence from the decompressor's
> head.S, and turn it into a rev_32 GAS macro for general use. While
> at it, make it use the 'rev' instruction when compiling for v6 or
> later.
>
> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>

Looks correct to me!
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>

Yours,
Linus Walleij

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 2/3] crypto: arm/aes-scalar - switch to common rev_32/mov_l macros
  2020-12-09 10:36 ` [PATCH 2/3] crypto: arm/aes-scalar - switch to common rev_32/mov_l macros Ard Biesheuvel
  2020-12-09 11:13   ` Geert Uytterhoeven
@ 2020-12-11 22:55   ` Linus Walleij
  1 sibling, 0 replies; 12+ messages in thread
From: Linus Walleij @ 2020-12-11 22:55 UTC (permalink / raw)
  To: Ard Biesheuvel
  Cc: Geert Uytterhoeven, Eric Biggers, Russell King, Linux ARM, Nicolas Pitre

On Wed, Dec 9, 2020 at 11:38 AM Ard Biesheuvel <ardb@kernel.org> wrote:

> The scalar AES implementation has some locally defined macros which
> reimplement things that are now available in macros defined in
> assembler.h. So let's switch to those.
>
> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>

Much more readable like this. Not that I understand crypto.
But I can see the macro does the same thing as the code used
to do.
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>

Yours,
Linus Walleij

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 3/3] crypto: arm/chacha-scalar - switch to common rev_32 macro
  2020-12-09 10:36 ` [PATCH 3/3] crypto: arm/chacha-scalar - switch to common rev_32 macro Ard Biesheuvel
  2020-12-09 11:19   ` Geert Uytterhoeven
@ 2020-12-11 22:56   ` Linus Walleij
  1 sibling, 0 replies; 12+ messages in thread
From: Linus Walleij @ 2020-12-11 22:56 UTC (permalink / raw)
  To: Ard Biesheuvel
  Cc: Geert Uytterhoeven, Eric Biggers, Russell King, Linux ARM, Nicolas Pitre

On Wed, Dec 9, 2020 at 11:38 AM Ard Biesheuvel <ardb@kernel.org> wrote:

> Drop the local definition of a byte swapping macro and use the common
> one instead.
>
> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>

Yours,
Linus Walleij

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

end of thread, other threads:[~2020-12-11 22:57 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-09 10:36 [PATCH 0/3] ARM: assembler: clean up byte swapping macros Ard Biesheuvel
2020-12-09 10:36 ` [PATCH 1/3] ARM: assembler: generalize byte swapping macro into rev_32 Ard Biesheuvel
2020-12-09 11:05   ` Geert Uytterhoeven
2020-12-11 22:53   ` Linus Walleij
2020-12-09 10:36 ` [PATCH 2/3] crypto: arm/aes-scalar - switch to common rev_32/mov_l macros Ard Biesheuvel
2020-12-09 11:13   ` Geert Uytterhoeven
2020-12-11 22:55   ` Linus Walleij
2020-12-09 10:36 ` [PATCH 3/3] crypto: arm/chacha-scalar - switch to common rev_32 macro Ard Biesheuvel
2020-12-09 11:19   ` Geert Uytterhoeven
2020-12-11 22:56   ` Linus Walleij
2020-12-09 11:02 ` [PATCH 0/3] ARM: assembler: clean up byte swapping macros Geert Uytterhoeven
2020-12-09 14:48 ` Nicolas Pitre

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.