This file contains the prototype of SA2UL driver APIs.
Go to the source code of this file.
Data Structures | |
| struct | SA2UL_ContextParams |
| Parameters passed to SA2UL_contextAlloc() More... | |
| struct | SA2UL_Params |
| Parameters passed to SA2UL_open() More... | |
| struct | SA2UL_Object |
| Object for a SA2UL crypto operation. More... | |
| struct | SA2UL_Attrs |
| SA2UL instance attributes - used during init time. More... | |
| struct | SA2UL_Config |
| SA2UL driver context. More... | |
| struct | SA2UL_MCEData |
| MEDdata for Encryption engine. More... | |
| struct | SA2UL_SecCtxAuth |
| SA2UL context RAM structure for authentication engine. More... | |
| struct | SA2UL_Scctl |
| SA2UL SC control structure. More... | |
| struct | SA2UL_SecCtxEnc |
| SA2UL context RAM structure for Encryption engine. More... | |
| struct | SA2UL_SecCtx |
| SA2UL context RAM structure. More... | |
| struct | SA2UL_ContextObject |
| SA2UL context object structure. More... | |
Macros | |
| #define | SA2UL_ENC_KEYSIZE_BITS(k) (128u + (64u * (k))) |
SA2UL macros | |
| #define | SA2UL_MAX_HASH_SIZE_BYTES (64U) |
| Max hash size in bytes. More... | |
| #define | SA2UL_MAX_KEY_SIZE_BYTES (32U) |
| Max key size in bytes. More... | |
| #define | SA2UL_MAX_IV_SIZE_BYTES (16U) |
| Max Initialization vector (IV) size in bytes. More... | |
| #define | SA2UL_MAX_IV_SIZE_BYTES_GCM (12U) |
| Max Initialization vector (IV) size in bytes for AES GCM. More... | |
| #define | SA2UL_NUMBER_OF_RINGS (3U) |
| Max number of rings. More... | |
| #define | SA2UL_CACHELINE_ALIGNMENT (16U) |
| Cache line size for alignment of descriptor and buffers. More... | |
| #define | SA2UL_SECCTX_SIZE (256U) |
| Secure context memsize. More... | |
| #define | SA2UL_INSTANCES_MAX (4U) |
| Max SA2UL instances. More... | |
| #define | SA2UL_RING_N_ELEMS (8U) |
| Max SA2UL ring n elements. More... | |
| #define | SA2UL_SW_RING_NUM (304U) |
| Max SA2UL sw ring number. More... | |
| #define | SA2UL_MAX_INPUT_LENGTH_ENC (0xFFFFU) |
| Max Aes input length for encryption and decryption (64KB-1) More... | |
| #define | SA2UL_MAX_INPUT_LENGTH_AUTH (0x3FFFFFU) |
| Max input length for authentication (4MB-1) More... | |
| #define | SA2UL_MAX_AAD_SIZE_BYTES (16U) |
| Max Additional Authenticated Data (AAD) size in bytes. More... | |
| #define | SA2UL_GHASH_LENGTH_BYTES (16U) |
| GHASH length in bytes. More... | |
SA2UL Algo Types | |
| #define | SA2UL_HASH_ALG_NULL (0x10U) |
| Hash Algo NULL. More... | |
| #define | SA2UL_HASH_ALG_SHA1 (0x12U) |
| Hash Algo SHA-1. More... | |
| #define | SA2UL_HASH_ALG_SHA2_256 (0x14U) |
| Hash Algo SHA-256. More... | |
| #define | SA2UL_HASH_ALG_SHA2_512 (0x16U) |
| Hash Algo SHA-512. More... | |
SA2UL Operations Sequence | |
| #define | SA2UL_OP_ENC (0x01U) |
| SA2UL operations encryption. More... | |
| #define | SA2UL_OP_AUTH (0x02U) |
| SA2UL operations authentication. More... | |
| #define | SA2UL_OP_ENC_THEN_AUTH (0x03U) |
| SA2UL operation encryption then authentication. More... | |
| #define | SA2UL_OP_AUTH_THEN_ENC (0x04U) |
| SA2UL operations authentication then encryption. More... | |
SA2UL engine operation type | |
| #define | SA2UL_ENGINE_CODE_DEFAULT_ENGINE_ID (0U) |
| SA2UL default engine Id. More... | |
| #define | SA2UL_ENGINE_CODE_ENCRYPTION_MODULE_P1 (2U) |
| SA2UL Encryption engine module p1. More... | |
| #define | SA2UL_ENGINE_CODE_ENCRYPTION_MODULE_P2 (3U) |
| SA2UL Encryption engine module p2. More... | |
| #define | SA2UL_ENGINE_CODE_AUTHENTICATION_MODULE_P1 (4U) |
| SA2UL Authentication engine module p1. More... | |
| #define | SA2UL_ENGINE_CODE_AUTHENTICATION_MODULE_P2 (5U) |
| SA2UL Authentication engine module p2. More... | |
| #define | SA2UL_ENGINE_CODE_DEFAULT_EGRESS_PORT (20U) |
| SA2UL Default Engress Port. More... | |
SA2UL Encryption Algos | |
| #define | SA2UL_ENC_ALG_AES (0x0U) |
| SA2UL AES Encryption Algorithm. More... | |
| #define | SA2UL_ENC_ALG_TDES (0x1U) |
| SA2UL TDES Encryption Algorithm. More... | |
| #define | SA2UL_ENC_ALG_MAX (0x2U) |
| SA2UL Encryption Maximun number of Algorithms. More... | |
SA2UL Encryption direction | |
| #define | SA2UL_ENC_DIR_ENCRYPT (0x0U) |
| Encryption direction. More... | |
| #define | SA2UL_ENC_DIR_DECRYPT (0x1U) |
| Decryption direction. More... | |
SA2UL Encryption modes | |
| #define | SA2UL_ENC_MODE_ECB (0x0U) |
| ECB mode. More... | |
| #define | SA2UL_ENC_MODE_CBC (0x1U) |
| CBC mode. More... | |
| #define | SA2UL_ENC_MODE_GCM (0x2U) |
| GCM mode. More... | |
| #define | SA2UL_ENC_MODE_MAX (0x3U) |
| Maximun Encryption modes. More... | |
SA2UL Encryption key sizes | |
| #define | SA2UL_ENC_KEYSIZE_128 (0x0U) |
| Encryption 128 bit key size. More... | |
| #define | SA2UL_ENC_KEYSIZE_192 (0x1U) |
| Encryption 192 bit key size. More... | |
| #define | SA2UL_ENC_KEYSIZE_256 (0x2U) |
| Encryption 256 bit key size. More... | |
| #define | SA2UL_ENC_KEYSIZE_MAX (0x3U) |
| Max key size. More... | |
Typedefs | |
| typedef void * | SA2UL_Handle |
| Handle to the SA2UL driver returned by SA2UL_open() More... | |
Functions | |
| void | SA2UL_init (void) |
| This function initializes the SA2UL module. More... | |
| void | SA2UL_deinit (void) |
| This function de-initializes the SA2UL module. More... | |
| int32_t | SA2UL_engineEnable (int32_t hwEnableMask) |
| This function enable particular SA2UL engine based on user input mask. More... | |
| int32_t | SA2UL_engineDisable (int32_t hwDisableMask) |
| This function disable particular SA2UL engine based on user input mask. More... | |
| SA2UL_Handle | SA2UL_open (uint32_t index, const SA2UL_Params *params) |
| This function opens a given SA2UL module. More... | |
| void | SA2UL_close (SA2UL_Handle handle) |
| Function to close a SA2UL module specified by the SA2UL handle. More... | |
| int32_t | SA2UL_contextAlloc (SA2UL_Handle handle, SA2UL_ContextObject *ctxObj, const SA2UL_ContextParams *ctxPrms) |
| Function to configure secure context. More... | |
| int32_t | SA2UL_contextFree (SA2UL_ContextObject *pCtxObj) |
| Function to free secure context configuration. More... | |
| int32_t | SA2UL_contextProcess (SA2UL_ContextObject *ctxObj, const uint8_t *input, uint32_t ilen, uint8_t *output) |
| Function to transfer and recieve data buffer. More... | |
| static void | SA2UL_Params_init (SA2UL_Params *prms) |
| Function to initialize default SA2UL parameters. More... | |
| static void | SA2UL_ContextParams_init (SA2UL_ContextParams *ctxPrms) |
Variables | |
| SA2UL_Config | gSa2ulConfig [] |
| Externally defined driver configuration array. More... | |
| uint32_t | gSa2ulConfigNum |
| Externally defined driver configuration Num. More... | |
| uint32_t | gSa2ulEngineEnableMask |
| Externally defined driver engine configuration mask. More... | |