blob: 68debea2d915bddd31df9c307e74f1e101987b71 [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"
yuzexi4c9b16a2022-11-24 15:42:34 +080011#include "ta_hash_perf.h"
Igor Opaniukf9b7fd22016-09-16 16:22:34 +030012
13
14#define AES_PERF_INPLACE 0
15
16#define CRYPTO_DEF_LOOPS 1 /* Default amount of inner loops */
17
Etienne Carriered851fc72017-04-26 15:08:02 +020018#define CRYPTO_USE_ZEROS 0 /* Init input data to zero */
Igor Opaniukf9b7fd22016-09-16 16:22:34 +030019#define CRYPTO_USE_RANDOM 1 /* Get input data from /dev/urandom */
Etienne Carriered851fc72017-04-26 15:08:02 +020020#define CRYPTO_NOT_INITED 2 /* Input data are not initialized */
Igor Opaniukf9b7fd22016-09-16 16:22:34 +030021
22#define CRYPTO_DEF_WARMUP 2 /* Start with a 2-second busy loop */
23#define CRYPTO_DEF_COUNT 5000 /* Default number of measurements */
24#define CRYPTO_DEF_VERBOSITY 0
Jerome Forissiera410edb2018-03-08 10:36:37 +010025#define CRYPTO_DEF_UNIT_SIZE 0 /* Process whole buffer */
Igor Opaniukf9b7fd22016-09-16 16:22:34 +030026
27
28#define _verbose(lvl, ...) \
29 do { \
30 if (verbosity >= lvl) { \
31 printf(__VA_ARGS__); \
32 fflush(stdout); \
33 } \
34 } while (0)
35
36#define verbose(...) _verbose(1, __VA_ARGS__)
37#define vverbose(...) _verbose(2, __VA_ARGS__)
38
Igor Opaniuk44aff4b2016-09-16 10:18:00 +030039
40int aes_perf_runner_cmd_parser(int argc, char *argv[]);
41void aes_perf_run_test(int mode, int keysize, int decrypt, size_t size,
Jerome Forissiera410edb2018-03-08 10:36:37 +010042 size_t unit, unsigned int n, unsigned int l,
43 int random_in, int in_place, int warmup, int verbosity);
Igor Opaniuk44aff4b2016-09-16 10:18:00 +030044
yuzexi4c9b16a2022-11-24 15:42:34 +080045int hash_perf_runner_cmd_parser(int argc, char *argv[]);
46void hash_perf_run_test(int algo, size_t size, unsigned int n,
Igor Opaniukf9b7fd22016-09-16 16:22:34 +030047 unsigned int l, int random_in, int offset,
48 int warmup, int verbosity);
49
Etienne Carriere41343db2017-03-17 15:38:52 +010050#ifdef CFG_SECURE_DATA_PATH
51int sdp_basic_runner_cmd_parser(int argc, char *argv[]);
52#endif
Igor Opaniukf9b7fd22016-09-16 16:22:34 +030053
54#endif /* XTEST_CRYPTO_PERF_H */