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

caamhash_desc.h (964B)


      1/* SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) */
      2/*
      3 * Shared descriptors for ahash algorithms
      4 *
      5 * Copyright 2017 NXP
      6 */
      7
      8#ifndef _CAAMHASH_DESC_H_
      9#define _CAAMHASH_DESC_H_
     10
     11/* length of descriptors text */
     12#define DESC_AHASH_BASE			(3 * CAAM_CMD_SZ)
     13#define DESC_AHASH_UPDATE_LEN		(6 * CAAM_CMD_SZ)
     14#define DESC_AHASH_UPDATE_FIRST_LEN	(DESC_AHASH_BASE + 4 * CAAM_CMD_SZ)
     15#define DESC_AHASH_FINAL_LEN		(DESC_AHASH_BASE + 5 * CAAM_CMD_SZ)
     16#define DESC_AHASH_DIGEST_LEN		(DESC_AHASH_BASE + 4 * CAAM_CMD_SZ)
     17
     18static inline bool is_xcbc_aes(u32 algtype)
     19{
     20	return (algtype & (OP_ALG_ALGSEL_MASK | OP_ALG_AAI_MASK)) ==
     21	       (OP_ALG_ALGSEL_AES | OP_ALG_AAI_XCBC_MAC);
     22}
     23
     24void cnstr_shdsc_ahash(u32 * const desc, struct alginfo *adata, u32 state,
     25		       int digestsize, int ctx_len, bool import_ctx, int era);
     26
     27void cnstr_shdsc_sk_hash(u32 * const desc, struct alginfo *adata, u32 state,
     28			 int digestsize, int ctx_len);
     29#endif /* _CAAMHASH_DESC_H_ */