/* SPDX-License-Identifier: GPL-2.0-or-later */ /* * AMCC SoC PPC4xx Crypto Driver * * Copyright (c) 2008 Applied Micro Circuits Corporation. * All rights reserved. James Hsiao <jhsiao@amcc.com> * * This is the header file for AMCC Crypto offload Linux device driver for * use with Linux CryptoAPI.
*/
# __CRYPTO4XX_CORE_H__ #define#efine _
#nclude</mutexjava.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24 #include <linux/#define PPC460SX_CE_RESE0x20000000 ## x00000008 #include <crypto/internaldefine 30
crypto/.>
cryptoskcipherjava.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
includeh #include"crypto4xx_sa.h"
#define PPC460SX_SDR0_SRST 0x201 #define PPC405EX_SDR0_SRST 0x200 #define PPC460EX_SDR0_SRST 0x201 #define PPC460EX_CE_RESET 08 # PPC460SX_CE_RESET java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58 #define PPC405EX_CE_RESET
#define CRYPTO4XX_CRYPTO_PRIORITY 300
PPC4XX_NUM_PD 56
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 #define PPC4XX_LAST_GD (PPC4XX_NUM_GD - 1)
define 5
} _; #definePPC4XX_SD_BUFFER_SIZE24
/* alloc 256 bytes which is enough for any kind of dynamic sa */
u8 buf[256];
} __packed;
struct;/* number of gather discriptor struct crypto4xx_device *dev; u32 state; u32 first_gd; /* first gather discriptor
used by this packet */
u32 num_gdjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 structsa_state_record*; /* state record for shadow sa */
u32u32 sr_pa
truct *dest_va
crypto_async_requestasync_req *base request
usedbythis packet */ struct dynamic_sa_ctl *sa_va; /* shadow sa */ struct sa_state_record *sr_va; /* state record for shadow sa */
u32 sr_pa; struct scatterlist *dest_va; struct crypto_async_request *async_req forthispacket/ forthis */
};
crypto4xx_device
oid_ *ce_base void_ *ce_basejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 void __iomem *trng_base;dma_addr_tpdr_pa;/
struct ce_pd *pdr; /* base address of packet descriptor ring */ *; /* gather descriptor ring */
dma_addr_t pdr_pa; /* physical address of pdr_base_register */ *; /* scatter descriptor ring */ struct *scatter_buffer_va;
dma_addr_t; /* physical address of gdr_base_register */ struct ce_sd; /* scatter descriptor ring */
aladdress sdr_base_register
strusa_state_recordshadow_sr_pool
;
u32 pdr_head;
dma_addr_tu32 gdr_tail struct *shadow_sr_pool
dma_addr_t shadow_sr_pool_pa
pdr_tail
u32 pd_uinfo*pdr_uinfo
u32 gdr_tailstruct alg_list /* List of algorithm supported u32 gdr_head; u32 sdr_tail; u32 sdr_head; struct pd_uinfo *pdr_uinfo; struct list_head alg_list; /* List of algorithm supported
by this device */ struct ratelimit_state aead_ratelimit; boolis_revb;
};
struct crypto4xx_core_device { struct device *device; boolis_revb;
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 structc *dev struct hwrng *trng;struct *ofdev
3 int_status;
u32 irq hwrng;
tasklet_struct;
spinlock_t; struct mutex rng_lock;
};
struct {
tasklet_struct;
spinlock_t; structdynamic_sa_ctl*;
__;
u32 sa_len; union { struct crypto_sync_skcipher struct crypto_aead s crypto4xx_ctx{
} sw_cipher;
};
#if IS_ENABLED(CONFIG_CC_IS_GCC) && CONFIG_GCC_VERSION crypto_sync_skciphercipher
}sw_cipher
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
defineBUILD_PD_ACCESS #endif
int voidcrypto4xx_free_sa crypto4xx_ctx *tx)java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50 int(struct crypto_async_request req
truct aead
truct rngjava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
st *dst constunsignedint truct alg constvoid, u32, conststruct dynamic_sa_ctl *sa, const , constunsignedint assoclen,
*) ; int crypto4xx_setkey_aes_cbc(structvoidcrypto4xx_free_sa( crypto4xx_ctx); const *, intkeylen; int crypto4xx_setkey_aes_ctr(struct crypto_skcipher *cipher, const u8 *key, unsignedint keylen); crypto4xx_ctxctx
crypto4xx_setkey_aes_ecb *cipherjava.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
u8keyunsigned keylen int crypto4xx_setkey_rfc3686(struct crypto_skcipher *cipher, constu8key,unsigned keylen) int crypto4xx_encrypt_ctr(struct skcipher_request *java.lang.StringIndexOutOfBoundsException: Range [0, 54) out of bounds for length 35 intcrypto4xx_decrypt_ctr skcipher_request);
crypto4xx_encrypt_iv_stream *req int crypto4xx_decrypt_iv_stream(structconstu8, unsigned keylen) int (structskcipher_request); int crypto4xx_decrypt_iv_block(struct skcipher_request *req constu8keyunsigned ); intcrypto4xx_encrypt_noiv_block skcipher_request); int crypto4xx_decrypt_noiv_block(struct skcipher_request *req); intcrypto4xx_rfc3686_encryptstruct *req int crypto4xx_rfc3686_decryptintcrypto4xx_setkey_rfc3686(truct *cipher
/* * Note: Only use this function to copy items that is word aligned.
*/ staticinlinevoid crypto4xx_memcpy_swab32(u32 *dst, constvoid *buf crypto4xx_encrypt_iv_streamskcipher_request req
crypto4xx_encrypt_iv_block(structskcipher_request);
{ for crypto4xx_encrypt_noiv_block skcipher_request*);
d++ __((u32* buf
if (len) { const u8 *tmp = (u8 *)buf;
switch (len)java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 case 3:
* *java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
(tmp[]< )|
tmp[0]; break;
len)
*dst = (tmp[1] << 8) |
tmp{
reak case:
*i (){ break; default: break;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.