summaryrefslogtreecommitdiffstats
path: root/recipes-kernel/cryptodev/sdk_patches/0045-add-support-for-crc32c-hash-async-speed-test.patch
diff options
context:
space:
mode:
authorChunrong Guo <chunrong.guo@nxp.com>2017-04-18 15:11:50 +0800
committerOtavio Salvador <otavio@ossystems.com.br>2017-05-02 17:54:58 -0300
commite756964ac2595d880304f227dec7bdb424d7d974 (patch)
tree28c067a5652216278a92e39144d48ac95f0e8f12 /recipes-kernel/cryptodev/sdk_patches/0045-add-support-for-crc32c-hash-async-speed-test.patch
parentcfb3ddaaaa78204ef5281c8627eed08f4f7e3f09 (diff)
downloadmeta-freescale-e756964ac2595d880304f227dec7bdb424d7d974.tar.gz
cryptodev: update to 6c2b61c
**include the following changes 6c2b61c - update copyright notes f79d523 - fix: reset finish condition before test start e8f7a91 - Merge remote-tracking branch 'upstream/master' 6818263 - Fix ablkcipher algorithms usage in v4.8+ kernels 26e167f - zc: Use the power of #elif e49fe25 - adjust to API changes in kernel >=4.10 2b29be8 - adjust to API changes in kernel >=4.10 c3afb40 - add support for rsa speed tests c9b7a80 - close the session after every test ba49470 - add support for authenc(hmac(sha1), cbc(aes)) speed tests 690cd62 - Merge branch 'master' into hpe2016 5adf04e - Merge remote-tracking branch 'upstream/master' 840c7ba - remove not used variable 2dbbb23 - do more strict code checking to avoid maintenance issues 88223e4 - avoid implicit conversion between signed and unsigned char 8db6905 - use buf_align macro to reduce code duplication b6d0e0f - rename header file to clarify purpose 1fd6062 - fix warnings of "implicit declaration of function" in async_speed ff3c8ab - remove not used local variables 25a1276 - fix incorrect return code in case of error from openssl_cioccrypt e7ef4ea - Merge pull request #17 from michaelweiser/gup_flags 99c6d21 - fix ignored SIGALRM signals on some platforms 71975fa - setting KERNEL_DIR is not necessary to build tests a96ff97 - fix issues with install target 07748d3 - Merge branch 'master' into hpe2016 cc89148 - Fix ablkcipher algorithms usage in v4.8+ kernels 4d6e4fb - Merge remote-tracking branch 'upstream/master' f126e48 - Adjust to another change in the user page API 4257fce - add -async option to run_crypto_tests.sh f953164 - merge sync and async benchmarks into a single program e7af57b - add % to cpu idle for convenience 1883c95 - add a wrapper script for running all tests 998b66b - add notes about configured limits in SEC driver b1a35f3 - fix ignored SIGALRM signals on some platforms b754517 - use the same algorithm names in sync_speed as in async_speed 8baefa4 - force LC_TIME value to avoid mpstat not using ISO8601 format d0978b5 - add sync speed tests with the same format as async ones 15d890b - graceful exit if cryptodev is not built with ASYNC flags 9a595bf - fix typo, use consistent spacing 9461878 - remove output line because it does not add clarity to the results b09c17f - the C standard used by cryptodev is C90 with GNU extensions 447808d - exit early if cryptodev tests are not installed 493afd3 - fix incorrect handling of error cases... e0d2c88 - make default output tabular abc007a - really fix (again...) the mpstat issue 2696cd5 - use $(...) instead of `...` for consistency e8fb004 - fix the scale of the runtime value 119151b - remove old results to avoid incorrect reports 71ac3d5 - fix the reported unit 8c47a0c - setting KERNEL_DIR is not necessary to build tests 182b307 - fix issues with install target 5021828 - do more strict code checking to avoid maintenance issues ab239d7 - return error code of the test if there is one b5228f2 - remove not used local variables 90d67ce - avoid implicit conversion between signed and unsigned char 4b442ca - fix build warnings on implicit function declarations 2821b92 - add a little space in the output for clarity 9d0ef05 - more precision in running mpstat 0180e2b - fix some issues with parsing mpstat output 4257fce - add -async option to run_crypto_tests.sh f953164 - merge sync and async benchmarks into a single program e7af57b - add % to cpu idle for convenience 7d7a733 - sanity check on /dev/crypto availability 137c0c4 - gracefull stop for async speed tests 600eb70 - fix: set min value when allocating alligned memory buffers 18408c9 - add multithreaded wrapper for async speed test 854cc84 - rename algorithm names for clarity 216f235 - honor the -m flag in async_speed 1023ede - add flag to report in a machine friendly format 219a8b4 - enable async code by default 9def784 - Merge remote-tracking branch 'radualexe/new_tests` 149dc1c - add basic optargs support for async_speed test 9595499 - add support for crc32c hash sync speed test 83e3840 - add support for aes-256-xts sync speed test fff72ae - add support for sha2-256 hash async speed test b961800 - add support for sha1 hash async speed test fea5006 - add support for crc32c hash async speed test 8768fad - add aes-256-xts support for async speed test Signed-off-by: Chunrong Guo <B40290@freescale.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Diffstat (limited to 'recipes-kernel/cryptodev/sdk_patches/0045-add-support-for-crc32c-hash-async-speed-test.patch')
-rw-r--r--recipes-kernel/cryptodev/sdk_patches/0045-add-support-for-crc32c-hash-async-speed-test.patch92
1 files changed, 92 insertions, 0 deletions
diff --git a/recipes-kernel/cryptodev/sdk_patches/0045-add-support-for-crc32c-hash-async-speed-test.patch b/recipes-kernel/cryptodev/sdk_patches/0045-add-support-for-crc32c-hash-async-speed-test.patch
new file mode 100644
index 00000000..b1a790eb
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0045-add-support-for-crc32c-hash-async-speed-test.patch
@@ -0,0 +1,92 @@
1From aa329106f586f8d055ceaa919e327ebc99bdd6e3 Mon Sep 17 00:00:00 2001
2From: Alexe Radu <radu.alexe@nxp.com>
3Date: Tue, 25 Oct 2016 11:15:37 +0300
4Subject: [PATCH 045/104] add support for crc32c hash async speed test
5
6Signed-off-by: Alexe Radu <radu.alexe@nxp.com>
7---
8 crypto/cryptodev.h | 1 +
9 ioctl.c | 4 ++++
10 tests/async_speed.c | 25 +++++++++++++++++++++++++
11 3 files changed, 30 insertions(+)
12
13diff --git a/crypto/cryptodev.h b/crypto/cryptodev.h
14index 9ade102..05221a4 100644
15--- a/crypto/cryptodev.h
16+++ b/crypto/cryptodev.h
17@@ -46,6 +46,7 @@ enum cryptodev_crypto_op_t {
18 CRYPTO_AES_XTS = 22,
19 CRYPTO_AES_ECB = 23,
20 CRYPTO_AES_GCM = 50,
21+ CRYPTO_CRC32C,
22
23 CRYPTO_CAMELLIA_CBC = 101,
24 CRYPTO_RIPEMD160,
25diff --git a/ioctl.c b/ioctl.c
26index ca3c5ac..2e2bdeb 100644
27--- a/ioctl.c
28+++ b/ioctl.c
29@@ -286,6 +286,10 @@ crypto_create_session(struct fcrypt *fcr, struct session_op *sop)
30 hash_name = "sha512";
31 hmac_mode = 0;
32 break;
33+ case CRYPTO_CRC32C:
34+ hash_name = "crc32c";
35+ hmac_mode = 0;
36+ break;
37 default:
38 ddebug(1, "bad mac: %d", sop->mac);
39 return -EINVAL;
40diff --git a/tests/async_speed.c b/tests/async_speed.c
41index 39a3d23..8978b4b 100644
42--- a/tests/async_speed.c
43+++ b/tests/async_speed.c
44@@ -65,6 +65,7 @@ int encrypt_data(struct session_op *sess, int fdc, int chunksize, int alignmask)
45 {
46 struct crypt_op cop;
47 char *buffer[64], iv[32];
48+ char mac[64][HASH_MAX_LEN];
49 static int val = 23;
50 struct timeval start, end;
51 double total = 0;
52@@ -114,6 +115,7 @@ int encrypt_data(struct session_op *sess, int fdc, int chunksize, int alignmask)
53 cop.iv = (unsigned char *)iv;
54 cop.op = COP_ENCRYPT;
55 cop.src = cop.dst = (unsigned char *)buffer[bufidx];
56+ cop.mac = mac[bufidx];
57 bufidx = (bufidx + 1) % 64;
58
59 if (ioctl(fdc, CIOCASYNCCRYPT, &cop)) {
60@@ -235,6 +237,29 @@ int main(void)
61 break;
62 }
63
64+ fprintf(stderr, "\nTesting CRC32C hash: \n");
65+ memset(&sess, 0, sizeof(sess));
66+ sess.mac = CRYPTO_CRC32C;
67+ if (ioctl(fdc, CIOCGSESSION, &sess)) {
68+ perror("ioctl(CIOCGSESSION)");
69+ return 1;
70+ }
71+#ifdef CIOCGSESSINFO
72+ siop.ses = sess.ses;
73+ if (ioctl(fdc, CIOCGSESSINFO, &siop)) {
74+ perror("ioctl(CIOCGSESSION)");
75+ return 1;
76+ }
77+ printf("requested hash CRYPTO_CRC32C, got %s with driver %s\n",
78+ siop.hash_info.cra_name, siop.hash_info.cra_driver_name);
79+ alignmask = siop.alignmask;
80+#endif
81+
82+ for (i = 256; i <= (64 * 1024); i *= 2) {
83+ if (encrypt_data(&sess, fdc, i, alignmask))
84+ break;
85+ }
86+
87 end:
88 close(fdc);
89 close(fd);
90--
912.10.2
92