cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

caamalg_desc.h (4709B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2/*
      3 * Shared descriptors for aead, skcipher algorithms
      4 *
      5 * Copyright 2016 NXP
      6 */
      7
      8#ifndef _CAAMALG_DESC_H_
      9#define _CAAMALG_DESC_H_
     10
     11/* length of descriptors text */
     12#define DESC_AEAD_BASE			(4 * CAAM_CMD_SZ)
     13#define DESC_AEAD_ENC_LEN		(DESC_AEAD_BASE + 11 * CAAM_CMD_SZ)
     14#define DESC_AEAD_DEC_LEN		(DESC_AEAD_BASE + 15 * CAAM_CMD_SZ)
     15#define DESC_AEAD_GIVENC_LEN		(DESC_AEAD_ENC_LEN + 8 * CAAM_CMD_SZ)
     16#define DESC_QI_AEAD_ENC_LEN		(DESC_AEAD_ENC_LEN + 3 * CAAM_CMD_SZ)
     17#define DESC_QI_AEAD_DEC_LEN		(DESC_AEAD_DEC_LEN + 3 * CAAM_CMD_SZ)
     18#define DESC_QI_AEAD_GIVENC_LEN		(DESC_AEAD_GIVENC_LEN + 3 * CAAM_CMD_SZ)
     19
     20/* Note: Nonce is counted in cdata.keylen */
     21#define DESC_AEAD_CTR_RFC3686_LEN	(4 * CAAM_CMD_SZ)
     22
     23#define DESC_AEAD_NULL_BASE		(3 * CAAM_CMD_SZ)
     24#define DESC_AEAD_NULL_ENC_LEN		(DESC_AEAD_NULL_BASE + 11 * CAAM_CMD_SZ)
     25#define DESC_AEAD_NULL_DEC_LEN		(DESC_AEAD_NULL_BASE + 13 * CAAM_CMD_SZ)
     26
     27#define DESC_GCM_BASE			(3 * CAAM_CMD_SZ)
     28#define DESC_GCM_ENC_LEN		(DESC_GCM_BASE + 16 * CAAM_CMD_SZ)
     29#define DESC_GCM_DEC_LEN		(DESC_GCM_BASE + 12 * CAAM_CMD_SZ)
     30#define DESC_QI_GCM_ENC_LEN		(DESC_GCM_ENC_LEN + 6 * CAAM_CMD_SZ)
     31#define DESC_QI_GCM_DEC_LEN		(DESC_GCM_DEC_LEN + 3 * CAAM_CMD_SZ)
     32
     33#define DESC_RFC4106_BASE		(3 * CAAM_CMD_SZ)
     34#define DESC_RFC4106_ENC_LEN		(DESC_RFC4106_BASE + 16 * CAAM_CMD_SZ)
     35#define DESC_RFC4106_DEC_LEN		(DESC_RFC4106_BASE + 13 * CAAM_CMD_SZ)
     36#define DESC_QI_RFC4106_ENC_LEN		(DESC_RFC4106_ENC_LEN + 5 * CAAM_CMD_SZ)
     37#define DESC_QI_RFC4106_DEC_LEN		(DESC_RFC4106_DEC_LEN + 5 * CAAM_CMD_SZ)
     38
     39#define DESC_RFC4543_BASE		(3 * CAAM_CMD_SZ)
     40#define DESC_RFC4543_ENC_LEN		(DESC_RFC4543_BASE + 11 * CAAM_CMD_SZ)
     41#define DESC_RFC4543_DEC_LEN		(DESC_RFC4543_BASE + 12 * CAAM_CMD_SZ)
     42#define DESC_QI_RFC4543_ENC_LEN		(DESC_RFC4543_ENC_LEN + 4 * CAAM_CMD_SZ)
     43#define DESC_QI_RFC4543_DEC_LEN		(DESC_RFC4543_DEC_LEN + 4 * CAAM_CMD_SZ)
     44
     45#define DESC_SKCIPHER_BASE		(3 * CAAM_CMD_SZ)
     46#define DESC_SKCIPHER_ENC_LEN		(DESC_SKCIPHER_BASE + \
     47					 21 * CAAM_CMD_SZ)
     48#define DESC_SKCIPHER_DEC_LEN		(DESC_SKCIPHER_BASE + \
     49					 16 * CAAM_CMD_SZ)
     50
     51void cnstr_shdsc_aead_null_encap(u32 * const desc, struct alginfo *adata,
     52				 unsigned int icvsize, int era);
     53
     54void cnstr_shdsc_aead_null_decap(u32 * const desc, struct alginfo *adata,
     55				 unsigned int icvsize, int era);
     56
     57void cnstr_shdsc_aead_encap(u32 * const desc, struct alginfo *cdata,
     58			    struct alginfo *adata, unsigned int ivsize,
     59			    unsigned int icvsize, const bool is_rfc3686,
     60			    u32 *nonce, const u32 ctx1_iv_off,
     61			    const bool is_qi, int era);
     62
     63void cnstr_shdsc_aead_decap(u32 * const desc, struct alginfo *cdata,
     64			    struct alginfo *adata, unsigned int ivsize,
     65			    unsigned int icvsize, const bool geniv,
     66			    const bool is_rfc3686, u32 *nonce,
     67			    const u32 ctx1_iv_off, const bool is_qi, int era);
     68
     69void cnstr_shdsc_aead_givencap(u32 * const desc, struct alginfo *cdata,
     70			       struct alginfo *adata, unsigned int ivsize,
     71			       unsigned int icvsize, const bool is_rfc3686,
     72			       u32 *nonce, const u32 ctx1_iv_off,
     73			       const bool is_qi, int era);
     74
     75void cnstr_shdsc_gcm_encap(u32 * const desc, struct alginfo *cdata,
     76			   unsigned int ivsize, unsigned int icvsize,
     77			   const bool is_qi);
     78
     79void cnstr_shdsc_gcm_decap(u32 * const desc, struct alginfo *cdata,
     80			   unsigned int ivsize, unsigned int icvsize,
     81			   const bool is_qi);
     82
     83void cnstr_shdsc_rfc4106_encap(u32 * const desc, struct alginfo *cdata,
     84			       unsigned int ivsize, unsigned int icvsize,
     85			       const bool is_qi);
     86
     87void cnstr_shdsc_rfc4106_decap(u32 * const desc, struct alginfo *cdata,
     88			       unsigned int ivsize, unsigned int icvsize,
     89			       const bool is_qi);
     90
     91void cnstr_shdsc_rfc4543_encap(u32 * const desc, struct alginfo *cdata,
     92			       unsigned int ivsize, unsigned int icvsize,
     93			       const bool is_qi);
     94
     95void cnstr_shdsc_rfc4543_decap(u32 * const desc, struct alginfo *cdata,
     96			       unsigned int ivsize, unsigned int icvsize,
     97			       const bool is_qi);
     98
     99void cnstr_shdsc_chachapoly(u32 * const desc, struct alginfo *cdata,
    100			    struct alginfo *adata, unsigned int ivsize,
    101			    unsigned int icvsize, const bool encap,
    102			    const bool is_qi);
    103
    104void cnstr_shdsc_skcipher_encap(u32 * const desc, struct alginfo *cdata,
    105				unsigned int ivsize, const bool is_rfc3686,
    106				const u32 ctx1_iv_off);
    107
    108void cnstr_shdsc_skcipher_decap(u32 * const desc, struct alginfo *cdata,
    109				unsigned int ivsize, const bool is_rfc3686,
    110				const u32 ctx1_iv_off);
    111
    112void cnstr_shdsc_xts_skcipher_encap(u32 * const desc, struct alginfo *cdata);
    113
    114void cnstr_shdsc_xts_skcipher_decap(u32 * const desc, struct alginfo *cdata);
    115
    116#endif /* _CAAMALG_DESC_H_ */