1 /* SPDX-License-Identifier: BSD-2-Clause */
2 /*
3  * Copyright (c) 2015, Linaro Limited
4  * All rights reserved.
5  */
6 
7 #ifndef XTEST_CRYPTO_COMMON_H
8 #define XTEST_CRYPTO_COMMON_H
9 
10 #include "ta_crypto_perf.h"
11 
12 #define AES_PERF_INPLACE 0
13 
14 #define CRYPTO_DEF_LOOPS 1 /* Default amount of inner loops */
15 
16 #define CRYPTO_USE_ZEROS  0 /* Init input data to zero */
17 #define CRYPTO_USE_RANDOM 1 /* Get input data from /dev/urandom */
18 #define CRYPTO_NOT_INITED 2 /* Input data are not initialized */
19 
20 #define CRYPTO_DEF_WARMUP 2 /* Start with a 2-second busy loop  */
21 #define CRYPTO_DEF_COUNT 5000	/* Default number of measurements */
22 #define CRYPTO_DEF_VERBOSITY 0
23 #define CRYPTO_DEF_UNIT_SIZE 0 /* Process whole buffer */
24 
25 
26 #define _verbose(lvl, ...)			\
27 	do {					\
28 		if (verbosity >= lvl) {		\
29 			printf(__VA_ARGS__);	\
30 			fflush(stdout);		\
31 		}				\
32 	} while (0)
33 
34 #define verbose(...)  _verbose(1, __VA_ARGS__)
35 #define vverbose(...) _verbose(2, __VA_ARGS__)
36 
37 
38 int aes_perf_runner_cmd_parser(int argc, char *argv[]);
39 void aes_perf_run_test(int mode, int keysize, int decrypt, size_t size,
40 		       size_t unit, unsigned int n, unsigned int l,
41 		       int random_in, int in_place, int warmup, int verbosity);
42 
43 int hash_perf_runner_cmd_parser(int argc, char *argv[]);
44 void hash_perf_run_test(int algo, size_t size, unsigned int n,
45 				unsigned int l, int random_in, int offset,
46 				int warmup, int verbosity);
47 int asym_perf_runner_cmd_parser(int argc, char *argv[]);
48 
49 #ifdef CFG_SECURE_DATA_PATH
50 int sdp_basic_runner_cmd_parser(int argc, char *argv[]);
51 #endif
52 
53 #endif /* XTEST_CRYPTO_PERF_H */
54