Linux Kernel
3.7.1
|
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/mod_devicetable.h>
#include <linux/device.h>
#include <linux/interrupt.h>
#include <linux/crypto.h>
#include <linux/hw_random.h>
#include <linux/of_platform.h>
#include <linux/dma-mapping.h>
#include <linux/io.h>
#include <linux/spinlock.h>
#include <linux/rtnetlink.h>
#include <linux/slab.h>
#include <linux/string.h>
#include <crypto/algapi.h>
#include <crypto/aes.h>
#include <crypto/des.h>
#include <crypto/sha.h>
#include <crypto/md5.h>
#include <crypto/aead.h>
#include <crypto/authenc.h>
#include <crypto/skcipher.h>
#include <crypto/hash.h>
#include <crypto/internal/hash.h>
#include <crypto/scatterwalk.h>
#include "talitos.h"
Go to the source code of this file.
Data Structures | |
struct | talitos_ctx |
struct | talitos_ahash_req_ctx |
struct | talitos_edesc |
struct | keyhash_result |
struct | talitos_alg_template |
struct | talitos_crypto_alg |
Macros | |
#define | DEF_TALITOS_DONE(name, ch_done_mask) |
#define | DEF_TALITOS_INTERRUPT(name, ch_done_mask, ch_err_mask, tlet) |
#define | TALITOS_CRA_PRIORITY 3000 |
#define | TALITOS_MAX_KEY_SIZE 96 |
#define | TALITOS_MAX_IV_LENGTH 16 /* max of AES_BLOCK_SIZE, DES3_EDE_BLOCK_SIZE */ |
#define | MD5_BLOCK_SIZE 64 |
#define | HASH_MAX_BLOCK_SIZE SHA512_BLOCK_SIZE |
#define | TALITOS_MDEU_MAX_CONTEXT_SIZE TALITOS_MDEU_CONTEXT_SIZE_SHA384_SHA512 |
Functions | |
int | talitos_submit (struct device *dev, int ch, struct talitos_desc *desc, void(*callback)(struct device *dev, struct talitos_desc *desc, void *context, int error), void *context) |
EXPORT_SYMBOL (talitos_submit) | |
MODULE_DEVICE_TABLE (of, talitos_match) | |
module_platform_driver (talitos_driver) | |
MODULE_LICENSE ("GPL") | |
MODULE_AUTHOR ("Kim Phillips <[email protected]>") | |
MODULE_DESCRIPTION ("Freescale integrated security engine (SEC) driver") | |
#define DEF_TALITOS_DONE | ( | name, | |
ch_done_mask | |||
) |
#define DEF_TALITOS_INTERRUPT | ( | name, | |
ch_done_mask, | |||
ch_err_mask, | |||
tlet | |||
) |
#define HASH_MAX_BLOCK_SIZE SHA512_BLOCK_SIZE |
#define TALITOS_MAX_IV_LENGTH 16 /* max of AES_BLOCK_SIZE, DES3_EDE_BLOCK_SIZE */ |
#define TALITOS_MDEU_MAX_CONTEXT_SIZE TALITOS_MDEU_CONTEXT_SIZE_SHA384_SHA512 |
EXPORT_SYMBOL | ( | talitos_submit | ) |
MODULE_AUTHOR | ( | "Kim Phillips <[email protected]>" | ) |
MODULE_DEVICE_TABLE | ( | of | , |
talitos_match | |||
) |
MODULE_LICENSE | ( | "GPL" | ) |
module_platform_driver | ( | talitos_driver | ) |
int talitos_submit | ( | struct device * | dev, |
int | ch, | ||
struct talitos_desc * | desc, | ||
void(*)(struct device *dev, struct talitos_desc *desc, void *context, int error) | callback, | ||
void * | context | ||
) |
talitos_submit - submits a descriptor to the device for processing : the SEC device to be used : the SEC device channel to be used : the descriptor to be processed by the device : whom to call when processing is complete : a handle for use by caller (optional)
desc must contain valid dma-mapped (bus physical) address pointers. callback must check err and feedback in descriptor header for device processing status.