Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
aesni-intel_glue.c File Reference
#include <linux/hardirq.h>
#include <linux/types.h>
#include <linux/crypto.h>
#include <linux/module.h>
#include <linux/err.h>
#include <crypto/algapi.h>
#include <crypto/aes.h>
#include <crypto/cryptd.h>
#include <crypto/ctr.h>
#include <crypto/b128ops.h>
#include <crypto/lrw.h>
#include <crypto/xts.h>
#include <asm/cpu_device_id.h>
#include <asm/i387.h>
#include <asm/crypto/aes.h>
#include <asm/crypto/ablk_helper.h>
#include <crypto/scatterwalk.h>
#include <crypto/internal/aead.h>
#include <linux/workqueue.h>
#include <linux/spinlock.h>

Go to the source code of this file.

Data Structures

struct  aesni_rfc4106_gcm_ctx
 
struct  aesni_gcm_set_hash_subkey_result
 
struct  aesni_hash_subkey_req_data
 
struct  aesni_lrw_ctx
 
struct  aesni_xts_ctx
 

Macros

#define AESNI_ALIGN   (16)
 
#define AES_BLOCK_MASK   (~(AES_BLOCK_SIZE-1))
 
#define RFC4106_HASH_SUBKEY_SIZE   16
 

Functions

asmlinkage int aesni_set_key (struct crypto_aes_ctx *ctx, const u8 *in_key, unsigned int key_len)
 
asmlinkage void aesni_enc (struct crypto_aes_ctx *ctx, u8 *out, const u8 *in)
 
asmlinkage void aesni_dec (struct crypto_aes_ctx *ctx, u8 *out, const u8 *in)
 
asmlinkage void aesni_ecb_enc (struct crypto_aes_ctx *ctx, u8 *out, const u8 *in, unsigned int len)
 
asmlinkage void aesni_ecb_dec (struct crypto_aes_ctx *ctx, u8 *out, const u8 *in, unsigned int len)
 
asmlinkage void aesni_cbc_enc (struct crypto_aes_ctx *ctx, u8 *out, const u8 *in, unsigned int len, u8 *iv)
 
asmlinkage void aesni_cbc_dec (struct crypto_aes_ctx *ctx, u8 *out, const u8 *in, unsigned int len, u8 *iv)
 
int crypto_fpu_init (void)
 
void crypto_fpu_exit (void)
 
 MODULE_DEVICE_TABLE (x86cpu, aesni_cpu_id)
 
 module_init (aesni_init)
 
 module_exit (aesni_exit)
 
 MODULE_DESCRIPTION ("Rijndael (AES) Cipher Algorithm, Intel AES-NI instructions optimized")
 
 MODULE_LICENSE ("GPL")
 
 MODULE_ALIAS ("aes")
 

Macro Definition Documentation

#define AES_BLOCK_MASK   (~(AES_BLOCK_SIZE-1))

Definition at line 74 of file aesni-intel_glue.c.

#define AESNI_ALIGN   (16)

Definition at line 73 of file aesni-intel_glue.c.

#define RFC4106_HASH_SUBKEY_SIZE   16

Definition at line 75 of file aesni-intel_glue.c.

Function Documentation

asmlinkage void aesni_cbc_dec ( struct crypto_aes_ctx ctx,
u8 out,
const u8 in,
unsigned int  len,
u8 iv 
)
asmlinkage void aesni_cbc_enc ( struct crypto_aes_ctx ctx,
u8 out,
const u8 in,
unsigned int  len,
u8 iv 
)
asmlinkage void aesni_dec ( struct crypto_aes_ctx ctx,
u8 out,
const u8 in 
)
asmlinkage void aesni_ecb_dec ( struct crypto_aes_ctx ctx,
u8 out,
const u8 in,
unsigned int  len 
)
asmlinkage void aesni_ecb_enc ( struct crypto_aes_ctx ctx,
u8 out,
const u8 in,
unsigned int  len 
)
asmlinkage void aesni_enc ( struct crypto_aes_ctx ctx,
u8 out,
const u8 in 
)
asmlinkage int aesni_set_key ( struct crypto_aes_ctx ctx,
const u8 in_key,
unsigned int  key_len 
)
void crypto_fpu_exit ( void  )

Definition at line 158 of file fpu.c.

int crypto_fpu_init ( void  )

Definition at line 153 of file fpu.c.

MODULE_ALIAS ( "aes"  )
MODULE_DESCRIPTION ( "Rijndael (AES) Cipher  Algorithm,
Intel AES-NI instructions optimized"   
)
MODULE_DEVICE_TABLE ( x86cpu  ,
aesni_cpu_id   
)
module_exit ( aesni_exit  )
module_init ( aesni_init  )
MODULE_LICENSE ( "GPL"  )