1acb6d415SXiaodong Liu 2acb6d415SXiaodong Liu #ifndef ISAL_MULTITHREAD_PERF_H_ 3acb6d415SXiaodong Liu #define ISAL_MULTITHREAD_PERF_H_ 4acb6d415SXiaodong Liu 5acb6d415SXiaodong Liu #include "isa-l_crypto.h" 6acb6d415SXiaodong Liu 7acb6d415SXiaodong Liu /* multibuffer hash */ 8*c280984aSMarcel Cornu void * 9*c280984aSMarcel Cornu md5_ossl_func(void *arg); 10*c280984aSMarcel Cornu void * 11*c280984aSMarcel Cornu md5_mb_func(void *arg); 12*c280984aSMarcel Cornu void * 13*c280984aSMarcel Cornu sha1_ossl_func(void *arg); 14*c280984aSMarcel Cornu void * 15*c280984aSMarcel Cornu sha1_mb_func(void *arg); 16*c280984aSMarcel Cornu void * 17*c280984aSMarcel Cornu sha256_ossl_func(void *arg); 18*c280984aSMarcel Cornu void * 19*c280984aSMarcel Cornu sha256_mb_func(void *arg); 20*c280984aSMarcel Cornu void * 21*c280984aSMarcel Cornu sha512_ossl_func(void *arg); 22*c280984aSMarcel Cornu void * 23*c280984aSMarcel Cornu sha512_mb_func(void *arg); 24acb6d415SXiaodong Liu 25acb6d415SXiaodong Liu /* aes */ 26*c280984aSMarcel Cornu void * 27*c280984aSMarcel Cornu cbc_128_dec_func(void *arg); 28*c280984aSMarcel Cornu void * 29*c280984aSMarcel Cornu cbc_192_dec_func(void *arg); 30*c280984aSMarcel Cornu void * 31*c280984aSMarcel Cornu cbc_256_dec_func(void *arg); 32*c280984aSMarcel Cornu void * 33*c280984aSMarcel Cornu xts_128_enc_func(void *arg); 34*c280984aSMarcel Cornu void * 35*c280984aSMarcel Cornu xts_256_enc_func(void *arg); 36acb6d415SXiaodong Liu #define AAD_LENGTH 16 37*c280984aSMarcel Cornu void * 38*c280984aSMarcel Cornu gcm_128_enc_func(void *arg); 39*c280984aSMarcel Cornu void * 40*c280984aSMarcel Cornu gcm_256_enc_func(void *arg); 41acb6d415SXiaodong Liu 42acb6d415SXiaodong Liu typedef struct { 43acb6d415SXiaodong Liu char *name; 44acb6d415SXiaodong Liu void *(*thread_func)(void *arg); 45acb6d415SXiaodong Liu uint32_t rounds_nbuf; /* bufs number of one processing round */ 46acb6d415SXiaodong Liu } alg_method; 47acb6d415SXiaodong Liu 48acb6d415SXiaodong Liu /* Global parameters*/ 49acb6d415SXiaodong Liu extern long long run_secs; 50acb6d415SXiaodong Liu extern uint32_t num_threads; 51acb6d415SXiaodong Liu extern uint32_t buflen; 52acb6d415SXiaodong Liu extern uint32_t prememcpy; 53acb6d415SXiaodong Liu extern uint32_t postmemcpy; 54acb6d415SXiaodong Liu 55acb6d415SXiaodong Liu extern pthread_mutex_t count_lock; 56acb6d415SXiaodong Liu extern pthread_cond_t count_cond; 57acb6d415SXiaodong Liu extern volatile uint32_t count; 58acb6d415SXiaodong Liu 59acb6d415SXiaodong Liu extern int verbose; 60*c280984aSMarcel Cornu #define printfv(format, args...) \ 61*c280984aSMarcel Cornu { \ 62acb6d415SXiaodong Liu if (verbose) \ 63acb6d415SXiaodong Liu printf(format, ##args); \ 64acb6d415SXiaodong Liu } 65acb6d415SXiaodong Liu 66acb6d415SXiaodong Liu #endif /* ISAL_MULTITHREAD_PERF_H_ */ 67