mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.5 KiB
60 lines
1.5 KiB
/* SPDX-License-Identifier: GPL-2.0 */ |
|
#ifndef ASM_X86_SERPENT_SSE2_H |
|
#define ASM_X86_SERPENT_SSE2_H |
|
|
|
#include <linux/crypto.h> |
|
#include <crypto/serpent.h> |
|
|
|
#ifdef CONFIG_X86_32 |
|
|
|
#define SERPENT_PARALLEL_BLOCKS 4 |
|
|
|
asmlinkage void __serpent_enc_blk_4way(const struct serpent_ctx *ctx, u8 *dst, |
|
const u8 *src, bool xor); |
|
asmlinkage void serpent_dec_blk_4way(const struct serpent_ctx *ctx, u8 *dst, |
|
const u8 *src); |
|
|
|
static inline void serpent_enc_blk_xway(const void *ctx, u8 *dst, const u8 *src) |
|
{ |
|
__serpent_enc_blk_4way(ctx, dst, src, false); |
|
} |
|
|
|
static inline void serpent_enc_blk_xway_xor(const struct serpent_ctx *ctx, |
|
u8 *dst, const u8 *src) |
|
{ |
|
__serpent_enc_blk_4way(ctx, dst, src, true); |
|
} |
|
|
|
static inline void serpent_dec_blk_xway(const void *ctx, u8 *dst, const u8 *src) |
|
{ |
|
serpent_dec_blk_4way(ctx, dst, src); |
|
} |
|
|
|
#else |
|
|
|
#define SERPENT_PARALLEL_BLOCKS 8 |
|
|
|
asmlinkage void __serpent_enc_blk_8way(const struct serpent_ctx *ctx, u8 *dst, |
|
const u8 *src, bool xor); |
|
asmlinkage void serpent_dec_blk_8way(const struct serpent_ctx *ctx, u8 *dst, |
|
const u8 *src); |
|
|
|
static inline void serpent_enc_blk_xway(const void *ctx, u8 *dst, const u8 *src) |
|
{ |
|
__serpent_enc_blk_8way(ctx, dst, src, false); |
|
} |
|
|
|
static inline void serpent_enc_blk_xway_xor(const struct serpent_ctx *ctx, |
|
u8 *dst, const u8 *src) |
|
{ |
|
__serpent_enc_blk_8way(ctx, dst, src, true); |
|
} |
|
|
|
static inline void serpent_dec_blk_xway(const void *ctx, u8 *dst, const u8 *src) |
|
{ |
|
serpent_dec_blk_8way(ctx, dst, src); |
|
} |
|
|
|
#endif |
|
|
|
#endif
|
|
|