Commit 8b55ba03 authored by Herbert Xu's avatar Herbert Xu
Browse files

[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: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent e1147d8f
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -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

+4 −14
Original line number Diff line number Diff line
@@ -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
		}
	}
};