blob: 9117c903f406223e79e285d4715ce3c627edef3a [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
10#include "ta_aes_perf.h"
Igor Opaniukf9b7fd22016-09-16 16:22:34 +030011#include "ta_sha_perf.h"
12
13
14
15
16#define AES_PERF_INPLACE 0
17
18#define CRYPTO_DEF_LOOPS 1 /* Default amount of inner loops */
19
Etienne Carriered851fc72017-04-26 15:08:02 +020020#define CRYPTO_USE_ZEROS 0 /* Init input data to zero */
Igor Opaniukf9b7fd22016-09-16 16:22:34 +030021#define CRYPTO_USE_RANDOM 1 /* Get input data from /dev/urandom */
Etienne Carriered851fc72017-04-26 15:08:02 +020022#define CRYPTO_NOT_INITED 2 /* Input data are not initialized */
Igor Opaniukf9b7fd22016-09-16 16:22:34 +030023
24#define CRYPTO_DEF_WARMUP 2 /* Start with a 2-second busy loop */
25#define CRYPTO_DEF_COUNT 5000 /* Default number of measurements */
26#define CRYPTO_DEF_VERBOSITY 0
Jerome Forissiera410edb2018-03-08 10:36:37 +010027#define CRYPTO_DEF_UNIT_SIZE 0 /* Process whole buffer */
Igor Opaniukf9b7fd22016-09-16 16:22:34 +030028
29
30#define _verbose(lvl, ...) \
31 do { \
32 if (verbosity >= lvl) { \
33 printf(__VA_ARGS__); \
34 fflush(stdout); \
35 } \
36 } while (0)
37
38#define verbose(...) _verbose(1, __VA_ARGS__)
39#define vverbose(...) _verbose(2, __VA_ARGS__)
40
Igor Opaniuk44aff4b2016-09-16 10:18:00 +030041
42int aes_perf_runner_cmd_parser(int argc, char *argv[]);
43void aes_perf_run_test(int mode, int keysize, int decrypt, size_t size,
Jerome Forissiera410edb2018-03-08 10:36:37 +010044 size_t unit, unsigned int n, unsigned int l,
45 int random_in, int in_place, int warmup, int verbosity);
Igor Opaniuk44aff4b2016-09-16 10:18:00 +030046
Igor Opaniukf9b7fd22016-09-16 16:22:34 +030047int sha_perf_runner_cmd_parser(int argc, char *argv[]);
48void sha_perf_run_test(int algo, size_t size, unsigned int n,
49 unsigned int l, int random_in, int offset,
50 int warmup, int verbosity);
51
Etienne Carriere41343db2017-03-17 15:38:52 +010052#ifdef CFG_SECURE_DATA_PATH
53int sdp_basic_runner_cmd_parser(int argc, char *argv[]);
54#endif
Igor Opaniukf9b7fd22016-09-16 16:22:34 +030055
56#endif /* XTEST_CRYPTO_PERF_H */