diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2006-05-13 21:00:39 -0400 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2006-06-26 03:34:38 -0400 |
commit | 8b55ba0303bb59c34fab8e015634018780491614 (patch) | |
tree | f0b3cc55bf76febe7706dae0ee23be8bbf6ffd81 | |
parent | e1147d8f47eb8fef93f98a30858192145137d2b2 (diff) |
[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.S | 9 | ||||
-rw-r--r-- | arch/i386/crypto/aes.c | 18 |
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 @@ | |||
36 | .file "aes-i586-asm.S" | 36 | .file "aes-i586-asm.S" |
37 | .text | 37 | .text |
38 | 38 | ||
39 | // aes_rval aes_enc_blk(const unsigned char in_blk[], unsigned char out_blk[], const aes_ctx cx[1])// | ||
40 | // aes_rval aes_dec_blk(const unsigned char in_blk[], unsigned char out_blk[], const aes_ctx cx[1])// | ||
41 | |||
42 | #define tlen 1024 // length of each of 4 'xor' arrays (256 32-bit words) | 39 | #define tlen 1024 // length of each of 4 'xor' arrays (256 32-bit words) |
43 | 40 | ||
44 | // offsets to parameters with one register pushed onto stack | 41 | // offsets to parameters with one register pushed onto stack |
45 | 42 | ||
46 | #define in_blk 8 // input byte array address parameter | 43 | #define in_blk 16 // input byte array address parameter |
47 | #define out_blk 12 // output byte array address parameter | 44 | #define out_blk 12 // output byte array address parameter |
48 | #define ctx 16 // AES context structure | 45 | #define ctx 8 // AES context structure |
49 | 46 | ||
50 | // offsets in context structure | 47 | // offsets in context structure |
51 | 48 | ||
@@ -220,6 +217,7 @@ | |||
220 | do_col (table, r5,r0,r1,r4, r2,r3); /* idx=r5 */ | 217 | do_col (table, r5,r0,r1,r4, r2,r3); /* idx=r5 */ |
221 | 218 | ||
222 | // AES (Rijndael) Encryption Subroutine | 219 | // AES (Rijndael) Encryption Subroutine |
220 | /* void aes_enc_blk(void *ctx, u8 *out_blk, const u8 *in_blk) */ | ||
223 | 221 | ||
224 | .global aes_enc_blk | 222 | .global aes_enc_blk |
225 | 223 | ||
@@ -295,6 +293,7 @@ aes_enc_blk: | |||
295 | ret | 293 | ret |
296 | 294 | ||
297 | // AES (Rijndael) Decryption Subroutine | 295 | // AES (Rijndael) Decryption Subroutine |
296 | /* void aes_dec_blk(void *ctx, u8 *out_blk, const u8 *in_blk) */ | ||
298 | 297 | ||
299 | .global aes_dec_blk | 298 | .global aes_dec_blk |
300 | 299 | ||
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 @@ | |||
45 | #include <linux/crypto.h> | 45 | #include <linux/crypto.h> |
46 | #include <linux/linkage.h> | 46 | #include <linux/linkage.h> |
47 | 47 | ||
48 | asmlinkage void aes_enc_blk(const u8 *src, u8 *dst, void *ctx); | 48 | asmlinkage void aes_enc_blk(void *ctx, u8 *dst, const u8 *src); |
49 | asmlinkage void aes_dec_blk(const u8 *src, u8 *dst, void *ctx); | 49 | asmlinkage void aes_dec_blk(void *ctx, u8 *dst, const u8 *src); |
50 | 50 | ||
51 | #define AES_MIN_KEY_SIZE 16 | 51 | #define AES_MIN_KEY_SIZE 16 |
52 | #define AES_MAX_KEY_SIZE 32 | 52 | #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) | |||
464 | return 0; | 464 | return 0; |
465 | } | 465 | } |
466 | 466 | ||
467 | static inline void aes_encrypt(void *ctx, u8 *dst, const u8 *src) | ||
468 | { | ||
469 | aes_enc_blk(src, dst, ctx); | ||
470 | } | ||
471 | static inline void aes_decrypt(void *ctx, u8 *dst, const u8 *src) | ||
472 | { | ||
473 | aes_dec_blk(src, dst, ctx); | ||
474 | } | ||
475 | |||
476 | |||
477 | static struct crypto_alg aes_alg = { | 467 | static struct crypto_alg aes_alg = { |
478 | .cra_name = "aes", | 468 | .cra_name = "aes", |
479 | .cra_driver_name = "aes-i586", | 469 | .cra_driver_name = "aes-i586", |
@@ -488,8 +478,8 @@ static struct crypto_alg aes_alg = { | |||
488 | .cia_min_keysize = AES_MIN_KEY_SIZE, | 478 | .cia_min_keysize = AES_MIN_KEY_SIZE, |
489 | .cia_max_keysize = AES_MAX_KEY_SIZE, | 479 | .cia_max_keysize = AES_MAX_KEY_SIZE, |
490 | .cia_setkey = aes_set_key, | 480 | .cia_setkey = aes_set_key, |
491 | .cia_encrypt = aes_encrypt, | 481 | .cia_encrypt = aes_enc_blk, |
492 | .cia_decrypt = aes_decrypt | 482 | .cia_decrypt = aes_dec_blk |
493 | } | 483 | } |
494 | } | 484 | } |
495 | }; | 485 | }; |