linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / arch / x86_64 / crypto / aes.c
index 68866fa..fb1b961 100644 (file)
@@ -77,11 +77,12 @@ static inline u8 byte(const u32 x, const unsigned n)
 struct aes_ctx
 {
        u32 key_length;
-       u32 buf[120];
+       u32 E[60];
+       u32 D[60];
 };
 
-#define E_KEY (&ctx->buf[0])
-#define D_KEY (&ctx->buf[60])
+#define E_KEY ctx->E
+#define D_KEY ctx->D
 
 static u8 pow_tab[256] __initdata;
 static u8 log_tab[256] __initdata;
@@ -227,10 +228,10 @@ static void __init gen_tabs(void)
        t ^= E_KEY[8 * i + 7]; E_KEY[8 * i + 15] = t;   \
 }
 
-static int aes_set_key(struct crypto_tfm *tfm, const u8 *in_key,
-                      unsigned int key_len, u32 *flags)
+static int aes_set_key(void *ctx_arg, const u8 *in_key, unsigned int key_len,
+                      u32 *flags)
 {
-       struct aes_ctx *ctx = crypto_tfm_ctx(tfm);
+       struct aes_ctx *ctx = ctx_arg;
        const __le32 *key = (const __le32 *)in_key;
        u32 i, j, t, u, v, w;
 
@@ -283,18 +284,8 @@ static int aes_set_key(struct crypto_tfm *tfm, const u8 *in_key,
        return 0;
 }
 
-asmlinkage void aes_enc_blk(struct crypto_tfm *tfm, u8 *out, const u8 *in);
-asmlinkage void aes_dec_blk(struct crypto_tfm *tfm, u8 *out, const u8 *in);
-
-static void aes_encrypt(struct crypto_tfm *tfm, u8 *dst, const u8 *src)
-{
-       aes_enc_blk(tfm, dst, src);
-}
-
-static void aes_decrypt(struct crypto_tfm *tfm, u8 *dst, const u8 *src)
-{
-       aes_dec_blk(tfm, dst, src);
-}
+extern void aes_encrypt(void *ctx_arg, u8 *out, const u8 *in);
+extern void aes_decrypt(void *ctx_arg, u8 *out, const u8 *in);
 
 static struct crypto_alg aes_alg = {
        .cra_name               =       "aes",