blob: 2b3915e091d1db78432bce85c3460647e11896e0 [file] [log] [blame]
Etienne Carriere9b7b70d2020-05-16 10:27:23 +02001/* SPDX-License-Identifier: BSD-2-Clause */
Igor Opaniuk44aff4b2016-09-16 10:18:00 +03002/*
3 * Copyright (c) 2015, Linaro Limited
4 * All rights reserved.
Igor Opaniuk44aff4b2016-09-16 10:18:00 +03005 */
6
Igor Opaniukf9b7fd22016-09-16 16:22:34 +03007#ifndef XTEST_CRYPTO_COMMON_H
8#define XTEST_CRYPTO_COMMON_H
Igor Opaniuk44aff4b2016-09-16 10:18:00 +03009
Zexi Yue18381f2023-10-30 11:29:51 +080010#include "ta_crypto_perf.h"
Igor Opaniukf9b7fd22016-09-16 16:22:34 +030011
12#define AES_PERF_INPLACE 0
13
14#define CRYPTO_DEF_LOOPS 1 /* Default amount of inner loops */
15
Etienne Carriered851fc72017-04-26 15:08:02 +020016#define CRYPTO_USE_ZEROS 0 /* Init input data to zero */
Igor Opaniukf9b7fd22016-09-16 16:22:34 +030017#define CRYPTO_USE_RANDOM 1 /* Get input data from /dev/urandom */
Etienne Carriered851fc72017-04-26 15:08:02 +020018#define CRYPTO_NOT_INITED 2 /* Input data are not initialized */
Igor Opaniukf9b7fd22016-09-16 16:22:34 +030019
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
Jerome Forissiera410edb2018-03-08 10:36:37 +010023#define CRYPTO_DEF_UNIT_SIZE 0 /* Process whole buffer */
Igor Opaniukf9b7fd22016-09-16 16:22:34 +030024
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
Igor Opaniuk44aff4b2016-09-16 10:18:00 +030037
38int aes_perf_runner_cmd_parser(int argc, char *argv[]);
39void aes_perf_run_test(int mode, int keysize, int decrypt, size_t size,
Jerome Forissiera410edb2018-03-08 10:36:37 +010040 size_t unit, unsigned int n, unsigned int l,
41 int random_in, int in_place, int warmup, int verbosity);
Igor Opaniuk44aff4b2016-09-16 10:18:00 +030042
yuzexi4c9b16a2022-11-24 15:42:34 +080043int hash_perf_runner_cmd_parser(int argc, char *argv[]);
44void hash_perf_run_test(int algo, size_t size, unsigned int n,
Igor Opaniukf9b7fd22016-09-16 16:22:34 +030045 unsigned int l, int random_in, int offset,
46 int warmup, int verbosity);
47
Etienne Carriere41343db2017-03-17 15:38:52 +010048#ifdef CFG_SECURE_DATA_PATH
49int sdp_basic_runner_cmd_parser(int argc, char *argv[]);
50#endif
Igor Opaniukf9b7fd22016-09-16 16:22:34 +030051
52#endif /* XTEST_CRYPTO_PERF_H */