From 225438d14dc4b163a8d0bb013dba532d7f69ce14 Mon Sep 17 00:00:00 2001 From: Jussi Kivilinna Date: Thu, 14 Jun 2012 10:09:03 +0800 Subject: [PATCH] --- yaml --- r: 318343 b: refs/heads/master c: 3387e7d69048f5ab02729825f9611754850d9a87 h: refs/heads/master i: 318341: c2c142b635bf9454c090bd245e1769ba3984f884 318339: 121baad3cd99aff8f6df64ca5f8c13647beeec93 318335: d9de2508cdc0d7a6aedf2e401cd63be629ca51f8 v: v3 --- [refs] | 2 +- .../x86/crypto/serpent-avx-x86_64-asm_64.S | 12 +++---- trunk/arch/x86/crypto/serpent_avx_glue.c | 2 +- trunk/arch/x86/crypto/serpent_sse2_glue.c | 2 +- trunk/arch/x86/include/asm/serpent-avx.h | 32 +++++++++++++++++++ .../include/asm/{serpent.h => serpent-sse2.h} | 4 +-- 6 files changed, 43 insertions(+), 11 deletions(-) create mode 100644 trunk/arch/x86/include/asm/serpent-avx.h rename trunk/arch/x86/include/asm/{serpent.h => serpent-sse2.h} (95%) diff --git a/[refs] b/[refs] index 805ffffb705b..83da6a8ad379 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d366db605c8c4a9878589bc4a87e55f6063184ac +refs/heads/master: 3387e7d69048f5ab02729825f9611754850d9a87 diff --git a/trunk/arch/x86/crypto/serpent-avx-x86_64-asm_64.S b/trunk/arch/x86/crypto/serpent-avx-x86_64-asm_64.S index 0ed47a124bac..504106bf04a2 100644 --- a/trunk/arch/x86/crypto/serpent-avx-x86_64-asm_64.S +++ b/trunk/arch/x86/crypto/serpent-avx-x86_64-asm_64.S @@ -579,10 +579,10 @@ vmovdqu x3, (3*4*4)(out); .align 8 -.global __serpent_enc_blk_8way -.type __serpent_enc_blk_8way,@function; +.global __serpent_enc_blk_8way_avx +.type __serpent_enc_blk_8way_avx,@function; -__serpent_enc_blk_8way: +__serpent_enc_blk_8way_avx: /* input: * %rdi: ctx, CTX * %rsi: dst @@ -647,10 +647,10 @@ __enc_xor8: ret; .align 8 -.global serpent_dec_blk_8way -.type serpent_dec_blk_8way,@function; +.global serpent_dec_blk_8way_avx +.type serpent_dec_blk_8way_avx,@function; -serpent_dec_blk_8way: +serpent_dec_blk_8way_avx: /* input: * %rdi: ctx, CTX * %rsi: dst diff --git a/trunk/arch/x86/crypto/serpent_avx_glue.c b/trunk/arch/x86/crypto/serpent_avx_glue.c index 0dc7a26535e5..dd81bab4f11a 100644 --- a/trunk/arch/x86/crypto/serpent_avx_glue.c +++ b/trunk/arch/x86/crypto/serpent_avx_glue.c @@ -39,7 +39,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/trunk/arch/x86/crypto/serpent_sse2_glue.c b/trunk/arch/x86/crypto/serpent_sse2_glue.c index 4b21be85e0a1..deecd25c1299 100644 --- a/trunk/arch/x86/crypto/serpent_sse2_glue.c +++ b/trunk/arch/x86/crypto/serpent_sse2_glue.c @@ -42,7 +42,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/trunk/arch/x86/include/asm/serpent-avx.h b/trunk/arch/x86/include/asm/serpent-avx.h new file mode 100644 index 000000000000..432deedd2945 --- /dev/null +++ b/trunk/arch/x86/include/asm/serpent-avx.h @@ -0,0 +1,32 @@ +#ifndef ASM_X86_SERPENT_AVX_H +#define ASM_X86_SERPENT_AVX_H + +#include +#include + +#define SERPENT_PARALLEL_BLOCKS 8 + +asmlinkage void __serpent_enc_blk_8way_avx(struct serpent_ctx *ctx, u8 *dst, + const u8 *src, bool xor); +asmlinkage void serpent_dec_blk_8way_avx(struct serpent_ctx *ctx, u8 *dst, + const u8 *src); + +static inline void serpent_enc_blk_xway(struct serpent_ctx *ctx, u8 *dst, + const u8 *src) +{ + __serpent_enc_blk_8way_avx(ctx, dst, src, false); +} + +static inline void serpent_enc_blk_xway_xor(struct serpent_ctx *ctx, u8 *dst, + const u8 *src) +{ + __serpent_enc_blk_8way_avx(ctx, dst, src, true); +} + +static inline void serpent_dec_blk_xway(struct serpent_ctx *ctx, u8 *dst, + const u8 *src) +{ + serpent_dec_blk_8way_avx(ctx, dst, src); +} + +#endif diff --git a/trunk/arch/x86/include/asm/serpent.h b/trunk/arch/x86/include/asm/serpent-sse2.h similarity index 95% rename from trunk/arch/x86/include/asm/serpent.h rename to trunk/arch/x86/include/asm/serpent-sse2.h index d3ef63fe0c81..e6e77dffbdab 100644 --- a/trunk/arch/x86/include/asm/serpent.h +++ b/trunk/arch/x86/include/asm/serpent-sse2.h @@ -1,5 +1,5 @@ -#ifndef ASM_X86_SERPENT_H -#define ASM_X86_SERPENT_H +#ifndef ASM_X86_SERPENT_SSE2_H +#define ASM_X86_SERPENT_SSE2_H #include #include