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