summaryrefslogtreecommitdiffstats
path: root/arch/x86/crypto/aes-x86_64-asm_64.S
diff options
context:
space:
mode:
authorHuang Ying <ying.huang@intel.com>2009-01-09 17:25:50 +1100
committerHerbert Xu <herbert@gondor.apana.org.au>2009-02-18 16:48:05 +0800
commit07bf44f86989f5ed866510374fe761d1903681fb (patch)
treeb7a4bbd3a66dd6fec0243a12f8569a4ad0fce9da /arch/x86/crypto/aes-x86_64-asm_64.S
parent109568e110ed67d4be1b28609b9fa00fca97f8eb (diff)
downloadlinux-07bf44f86989f5ed866510374fe761d1903681fb.tar.gz
linux-07bf44f86989f5ed866510374fe761d1903681fb.tar.bz2
linux-07bf44f86989f5ed866510374fe761d1903681fb.zip
crypto: aes - Export x86 AES encrypt/decrypt functions
Intel AES-NI AES acceleration instructions touch XMM state, to use that in soft_irq context, general x86 AES implementation is used as fallback. The first parameter is changed from struct crypto_tfm * to struct crypto_aes_ctx * to make it easier to deal with 16 bytes alignment requirement of AES-NI implementation. Signed-off-by: Huang Ying <ying.huang@intel.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'arch/x86/crypto/aes-x86_64-asm_64.S')
-rw-r--r--arch/x86/crypto/aes-x86_64-asm_64.S6
1 files changed, 2 insertions, 4 deletions
diff --git a/arch/x86/crypto/aes-x86_64-asm_64.S b/arch/x86/crypto/aes-x86_64-asm_64.S
index 7f28f62737de..5b577d5a059b 100644
--- a/arch/x86/crypto/aes-x86_64-asm_64.S
+++ b/arch/x86/crypto/aes-x86_64-asm_64.S
@@ -17,8 +17,6 @@
#include <asm/asm-offsets.h>
-#define BASE crypto_tfm_ctx_offset
-
#define R1 %rax
#define R1E %eax
#define R1X %ax
@@ -56,13 +54,13 @@
.align 8; \
FUNC: movq r1,r2; \
movq r3,r4; \
- leaq BASE+KEY+48(r8),r9; \
+ leaq KEY+48(r8),r9; \
movq r10,r11; \
movl (r7),r5 ## E; \
movl 4(r7),r1 ## E; \
movl 8(r7),r6 ## E; \
movl 12(r7),r7 ## E; \
- movl BASE+480(r8),r10 ## E; \
+ movl 480(r8),r10 ## E; \
xorl -48(r9),r5 ## E; \
xorl -44(r9),r1 ## E; \
xorl -40(r9),r6 ## E; \