Commit | Line | Data |
---|---|---|
937c30d7 JK |
1 | #ifndef ASM_X86_SERPENT_H |
2 | #define ASM_X86_SERPENT_H | |
3 | ||
4 | #include <linux/crypto.h> | |
5 | #include <crypto/serpent.h> | |
6 | ||
251496db JK |
7 | #ifdef CONFIG_X86_32 |
8 | ||
9 | #define SERPENT_PARALLEL_BLOCKS 4 | |
10 | ||
11 | asmlinkage void __serpent_enc_blk_4way(struct serpent_ctx *ctx, u8 *dst, | |
12 | const u8 *src, bool xor); | |
13 | asmlinkage void serpent_dec_blk_4way(struct serpent_ctx *ctx, u8 *dst, | |
14 | const u8 *src); | |
15 | ||
16 | static inline void serpent_enc_blk_xway(struct serpent_ctx *ctx, u8 *dst, | |
17 | const u8 *src) | |
18 | { | |
19 | __serpent_enc_blk_4way(ctx, dst, src, false); | |
20 | } | |
21 | ||
22 | static inline void serpent_enc_blk_xway_xor(struct serpent_ctx *ctx, u8 *dst, | |
23 | const u8 *src) | |
24 | { | |
25 | __serpent_enc_blk_4way(ctx, dst, src, true); | |
26 | } | |
27 | ||
28 | static inline void serpent_dec_blk_xway(struct serpent_ctx *ctx, u8 *dst, | |
29 | const u8 *src) | |
30 | { | |
31 | serpent_dec_blk_4way(ctx, dst, src); | |
32 | } | |
33 | ||
34 | #else | |
35 | ||
937c30d7 JK |
36 | #define SERPENT_PARALLEL_BLOCKS 8 |
37 | ||
38 | asmlinkage void __serpent_enc_blk_8way(struct serpent_ctx *ctx, u8 *dst, | |
39 | const u8 *src, bool xor); | |
40 | asmlinkage void serpent_dec_blk_8way(struct serpent_ctx *ctx, u8 *dst, | |
41 | const u8 *src); | |
42 | ||
43 | static inline void serpent_enc_blk_xway(struct serpent_ctx *ctx, u8 *dst, | |
44 | const u8 *src) | |
45 | { | |
46 | __serpent_enc_blk_8way(ctx, dst, src, false); | |
47 | } | |
48 | ||
49 | static inline void serpent_enc_blk_xway_xor(struct serpent_ctx *ctx, u8 *dst, | |
50 | const u8 *src) | |
51 | { | |
52 | __serpent_enc_blk_8way(ctx, dst, src, true); | |
53 | } | |
54 | ||
55 | static inline void serpent_dec_blk_xway(struct serpent_ctx *ctx, u8 *dst, | |
56 | const u8 *src) | |
57 | { | |
58 | serpent_dec_blk_8way(ctx, dst, src); | |
59 | } | |
60 | ||
61 | #endif | |
251496db JK |
62 | |
63 | #endif |