Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 272287
b: refs/heads/master
c: 91d41f1
h: refs/heads/master
i:
  272285: 4515807
  272283: a716876
  272279: 277d85c
  272271: 16e6da5
  272255: 3d87ada
v: v3
  • Loading branch information
Jussi Kivilinna authored and Herbert Xu committed Oct 21, 2011
1 parent da9cd99 commit 620f048
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 14 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: ee5002a5497f3219b4144b5370203ed6e43f7269
refs/heads/master: 91d41f159d75d602f6001218eec64c5e761475a6
10 changes: 5 additions & 5 deletions trunk/arch/x86/crypto/twofish-i586-asm_32.S
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@

#define in_blk 12 /* input byte array address parameter*/
#define out_blk 8 /* output byte array address parameter*/
#define tfm 4 /* Twofish context structure */
#define ctx 4 /* Twofish context structure */

#define a_offset 0
#define b_offset 4
Expand Down Expand Up @@ -229,8 +229,8 @@ twofish_enc_blk:
push %esi
push %edi

mov tfm + 16(%esp), %ebp /* abuse the base pointer: set new base bointer to the crypto tfm */
add $crypto_tfm_ctx_offset, %ebp /* ctx address */
mov ctx + 16(%esp), %ebp /* abuse the base pointer: set new base
* pointer to the ctx address */
mov in_blk+16(%esp),%edi /* input address in edi */

mov (%edi), %eax
Expand Down Expand Up @@ -285,8 +285,8 @@ twofish_dec_blk:
push %edi


mov tfm + 16(%esp), %ebp /* abuse the base pointer: set new base bointer to the crypto tfm */
add $crypto_tfm_ctx_offset, %ebp /* ctx address */
mov ctx + 16(%esp), %ebp /* abuse the base pointer: set new base
* pointer to the ctx address */
mov in_blk+16(%esp),%edi /* input address in edi */

mov (%edi), %eax
Expand Down
6 changes: 2 additions & 4 deletions trunk/arch/x86/crypto/twofish-x86_64-asm_64.S
Original file line number Diff line number Diff line change
Expand Up @@ -221,10 +221,9 @@
twofish_enc_blk:
pushq R1

/* %rdi contains the crypto tfm address */
/* %rdi contains the ctx address */
/* %rsi contains the output address */
/* %rdx contains the input address */
add $crypto_tfm_ctx_offset, %rdi /* set ctx address */
/* ctx address is moved to free one non-rex register
as target for the 8bit high operations */
mov %rdi, %r11
Expand Down Expand Up @@ -274,10 +273,9 @@ twofish_enc_blk:
twofish_dec_blk:
pushq R1

/* %rdi contains the crypto tfm address */
/* %rdi contains the ctx address */
/* %rsi contains the output address */
/* %rdx contains the input address */
add $crypto_tfm_ctx_offset, %rdi /* set ctx address */
/* ctx address is moved to free one non-rex register
as target for the 8bit high operations */
mov %rdi, %r11
Expand Down
12 changes: 8 additions & 4 deletions trunk/arch/x86/crypto/twofish_glue.c
Original file line number Diff line number Diff line change
Expand Up @@ -44,17 +44,21 @@
#include <linux/module.h>
#include <linux/types.h>

asmlinkage void twofish_enc_blk(struct crypto_tfm *tfm, u8 *dst, const u8 *src);
asmlinkage void twofish_dec_blk(struct crypto_tfm *tfm, u8 *dst, const u8 *src);
asmlinkage void twofish_enc_blk(struct twofish_ctx *ctx, u8 *dst,
const u8 *src);
EXPORT_SYMBOL_GPL(twofish_enc_blk);
asmlinkage void twofish_dec_blk(struct twofish_ctx *ctx, u8 *dst,
const u8 *src);
EXPORT_SYMBOL_GPL(twofish_dec_blk);

static void twofish_encrypt(struct crypto_tfm *tfm, u8 *dst, const u8 *src)
{
twofish_enc_blk(tfm, dst, src);
twofish_enc_blk(crypto_tfm_ctx(tfm), dst, src);
}

static void twofish_decrypt(struct crypto_tfm *tfm, u8 *dst, const u8 *src)
{
twofish_dec_blk(tfm, dst, src);
twofish_dec_blk(crypto_tfm_ctx(tfm), dst, src);
}

static struct crypto_alg alg = {
Expand Down

0 comments on commit 620f048

Please sign in to comment.