Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f1b4d6b3 authored by Ard Biesheuvel's avatar Ard Biesheuvel Committed by Eric Biggers
Browse files

UPSTREAM: crypto: arm/aes - avoid reserved 'tt' mnemonic in asm code



The ARMv8-M architecture introduces 'tt' and 'ttt' instructions,
which means we can no longer use 'tt' as a register alias on recent
versions of binutils for ARM. So replace the alias with 'ttab'.

Fixes: 81edb4262975 ("crypto: arm/aes - replace scalar AES cipher")
Signed-off-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>

(cherry picked from commit 658fa754cd0700e8e96d61898f0953c4514859c6)
Bug: 112008522
Test: As series, see Ic61c13b53facfd2173065be715a7ee5f3af8760b
Change-Id: Ib4498f1bec080e85e6971f782ea0ebaf0d644153
Signed-off-by: default avatarEric Biggers <ebiggers@google.com>
parent b7912e0f
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -18,7 +18,7 @@
	rounds		.req	r1
	in		.req	r2
	out		.req	r3
	tt		.req	ip
	ttab		.req	ip

	t0		.req	lr
	t1		.req	r2
@@ -34,9 +34,9 @@

	.macro		__load, out, in, idx
	.if		__LINUX_ARM_ARCH__ < 7 && \idx > 0
	ldr		\out, [tt, \in, lsr #(8 * \idx) - 2]
	ldr		\out, [ttab, \in, lsr #(8 * \idx) - 2]
	.else
	ldr		\out, [tt, \in, lsl #2]
	ldr		\out, [ttab, \in, lsl #2]
	.endif
	.endm

@@ -136,7 +136,7 @@
	eor		r6, r6, r10
	eor		r7, r7, r11

	__adrl		tt, \ttab
	__adrl		ttab, \ttab

	tst		rounds, #2
	bne		1f
@@ -146,7 +146,7 @@

1:	subs		rounds, rounds, #4
	\round		r8, r9, r10, r11, r4, r5, r6, r7
	__adrl		tt, \ltab, ls
	__adrl		ttab, \ltab, ls
	\round		r4, r5, r6, r7, r8, r9, r10, r11
	bhi		0b