diff options
author | Chunrong Guo <chunrong.guo@nxp.com> | 2017-04-18 15:11:50 +0800 |
---|---|---|
committer | Otavio Salvador <otavio@ossystems.com.br> | 2017-05-02 17:54:58 -0300 |
commit | e756964ac2595d880304f227dec7bdb424d7d974 (patch) | |
tree | 28c067a5652216278a92e39144d48ac95f0e8f12 /recipes-kernel/cryptodev/sdk_patches/0045-add-support-for-crc32c-hash-async-speed-test.patch | |
parent | cfb3ddaaaa78204ef5281c8627eed08f4f7e3f09 (diff) | |
download | meta-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.patch | 92 |
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 @@ | |||
1 | From aa329106f586f8d055ceaa919e327ebc99bdd6e3 Mon Sep 17 00:00:00 2001 | ||
2 | From: Alexe Radu <radu.alexe@nxp.com> | ||
3 | Date: Tue, 25 Oct 2016 11:15:37 +0300 | ||
4 | Subject: [PATCH 045/104] add support for crc32c hash async speed test | ||
5 | |||
6 | Signed-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 | |||
13 | diff --git a/crypto/cryptodev.h b/crypto/cryptodev.h | ||
14 | index 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, | ||
25 | diff --git a/ioctl.c b/ioctl.c | ||
26 | index 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; | ||
40 | diff --git a/tests/async_speed.c b/tests/async_speed.c | ||
41 | index 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 | -- | ||
91 | 2.10.2 | ||
92 | |||