summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2006-05-14 05:00:39 +0400
committerHerbert Xu <herbert@gondor.apana.org.au>2006-06-26 11:34:38 +0400
commit8b55ba0303bb59c34fab8e015634018780491614 (patch)
treef0b3cc55bf76febe7706dae0ee23be8bbf6ffd81
parente1147d8f47eb8fef93f98a30858192145137d2b2 (diff)
downloadlinux-8b55ba0303bb59c34fab8e015634018780491614.tar.xz
[CRYPTO] aes-i586: Get rid of useless function wrappers
The wrappers aes_encrypt/aes_decrypt simply reverse the order of the function arguments. It's just as easy to get the actual assembly code to read them in the opposite order. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-rw-r--r--arch/i386/crypto/aes-i586-asm.S9
-rw-r--r--arch/i386/crypto/aes.c18
2 files changed, 8 insertions, 19 deletions
diff --git a/arch/i386/crypto/aes-i586-asm.S b/arch/i386/crypto/aes-i586-asm.S
index 911b15377f2e..2851f7fe51e6 100644
--- a/arch/i386/crypto/aes-i586-asm.S
+++ b/arch/i386/crypto/aes-i586-asm.S
@@ -36,16 +36,13 @@
.file "aes-i586-asm.S"
.text
-// aes_rval aes_enc_blk(const unsigned char in_blk[], unsigned char out_blk[], const aes_ctx cx[1])//
-// aes_rval aes_dec_blk(const unsigned char in_blk[], unsigned char out_blk[], const aes_ctx cx[1])//
-
#define tlen 1024 // length of each of 4 'xor' arrays (256 32-bit words)
// offsets to parameters with one register pushed onto stack
-#define in_blk 8 // input byte array address parameter
+#define in_blk 16 // input byte array address parameter
#define out_blk 12 // output byte array address parameter
-#define ctx 16 // AES context structure
+#define ctx 8 // AES context structure
// offsets in context structure
@@ -220,6 +217,7 @@
do_col (table, r5,r0,r1,r4, r2,r3); /* idx=r5 */
// AES (Rijndael) Encryption Subroutine
+/* void aes_enc_blk(void *ctx, u8 *out_blk, const u8 *in_blk) */
.global aes_enc_blk
@@ -295,6 +293,7 @@ aes_enc_blk:
ret
// AES (Rijndael) Decryption Subroutine
+/* void aes_dec_blk(void *ctx, u8 *out_blk, const u8 *in_blk) */
.global aes_dec_blk
diff --git a/arch/i386/crypto/aes.c b/arch/i386/crypto/aes.c
index a50397b1d5c7..a0e033510a3b 100644
--- a/arch/i386/crypto/aes.c
+++ b/arch/i386/crypto/aes.c
@@ -45,8 +45,8 @@
#include <linux/crypto.h>
#include <linux/linkage.h>
-asmlinkage void aes_enc_blk(const u8 *src, u8 *dst, void *ctx);
-asmlinkage void aes_dec_blk(const u8 *src, u8 *dst, void *ctx);
+asmlinkage void aes_enc_blk(void *ctx, u8 *dst, const u8 *src);
+asmlinkage void aes_dec_blk(void *ctx, u8 *dst, const u8 *src);
#define AES_MIN_KEY_SIZE 16
#define AES_MAX_KEY_SIZE 32
@@ -464,16 +464,6 @@ aes_set_key(void *ctx_arg, const u8 *in_key, unsigned int key_len, u32 *flags)
return 0;
}
-static inline void aes_encrypt(void *ctx, u8 *dst, const u8 *src)
-{
- aes_enc_blk(src, dst, ctx);
-}
-static inline void aes_decrypt(void *ctx, u8 *dst, const u8 *src)
-{
- aes_dec_blk(src, dst, ctx);
-}
-
-
static struct crypto_alg aes_alg = {
.cra_name = "aes",
.cra_driver_name = "aes-i586",
@@ -488,8 +478,8 @@ static struct crypto_alg aes_alg = {
.cia_min_keysize = AES_MIN_KEY_SIZE,
.cia_max_keysize = AES_MAX_KEY_SIZE,
.cia_setkey = aes_set_key,
- .cia_encrypt = aes_encrypt,
- .cia_decrypt = aes_decrypt
+ .cia_encrypt = aes_enc_blk,
+ .cia_decrypt = aes_dec_blk
}
}
};