|
@@ -701,14 +701,18 @@ $code.=<<___;
|
|
|
# define VFP_ABI_FRAME 0
|
|
|
# define BSAES_ASM_EXTENDED_KEY
|
|
|
# define XTS_CHAIN_TWEAK
|
|
|
-# define __ARM_ARCH__ 7
|
|
|
+# define __ARM_ARCH__ __LINUX_ARM_ARCH__
|
|
|
+# define __ARM_MAX_ARCH__ 7
|
|
|
#endif
|
|
|
|
|
|
#ifdef __thumb__
|
|
|
# define adrl adr
|
|
|
#endif
|
|
|
|
|
|
-#if __ARM_ARCH__>=7
|
|
|
+#if __ARM_MAX_ARCH__>=7
|
|
|
+.arch armv7-a
|
|
|
+.fpu neon
|
|
|
+
|
|
|
.text
|
|
|
.syntax unified @ ARMv7-capable assembler is expected to handle this
|
|
|
#ifdef __thumb2__
|
|
@@ -717,8 +721,6 @@ $code.=<<___;
|
|
|
.code 32
|
|
|
#endif
|
|
|
|
|
|
-.fpu neon
|
|
|
-
|
|
|
.type _bsaes_decrypt8,%function
|
|
|
.align 4
|
|
|
_bsaes_decrypt8:
|
|
@@ -2076,9 +2078,11 @@ bsaes_xts_decrypt:
|
|
|
vld1.8 {@XMM[8]}, [r0] @ initial tweak
|
|
|
adr $magic, .Lxts_magic
|
|
|
|
|
|
+#ifndef XTS_CHAIN_TWEAK
|
|
|
tst $len, #0xf @ if not multiple of 16
|
|
|
it ne @ Thumb2 thing, sanity check in ARM
|
|
|
subne $len, #0x10 @ subtract another 16 bytes
|
|
|
+#endif
|
|
|
subs $len, #0x80
|
|
|
|
|
|
blo .Lxts_dec_short
|