From e756964ac2595d880304f227dec7bdb424d7d974 Mon Sep 17 00:00:00 2001 From: Chunrong Guo Date: Tue, 18 Apr 2017 15:11:50 +0800 Subject: 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 Signed-off-by: Otavio Salvador --- ...-support-for-crc32c-hash-async-speed-test.patch | 92 ++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 recipes-kernel/cryptodev/sdk_patches/0045-add-support-for-crc32c-hash-async-speed-test.patch (limited to 'recipes-kernel/cryptodev/sdk_patches/0045-add-support-for-crc32c-hash-async-speed-test.patch') 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 @@ +From aa329106f586f8d055ceaa919e327ebc99bdd6e3 Mon Sep 17 00:00:00 2001 +From: Alexe Radu +Date: Tue, 25 Oct 2016 11:15:37 +0300 +Subject: [PATCH 045/104] add support for crc32c hash async speed test + +Signed-off-by: Alexe Radu +--- + crypto/cryptodev.h | 1 + + ioctl.c | 4 ++++ + tests/async_speed.c | 25 +++++++++++++++++++++++++ + 3 files changed, 30 insertions(+) + +diff --git a/crypto/cryptodev.h b/crypto/cryptodev.h +index 9ade102..05221a4 100644 +--- a/crypto/cryptodev.h ++++ b/crypto/cryptodev.h +@@ -46,6 +46,7 @@ enum cryptodev_crypto_op_t { + CRYPTO_AES_XTS = 22, + CRYPTO_AES_ECB = 23, + CRYPTO_AES_GCM = 50, ++ CRYPTO_CRC32C, + + CRYPTO_CAMELLIA_CBC = 101, + CRYPTO_RIPEMD160, +diff --git a/ioctl.c b/ioctl.c +index ca3c5ac..2e2bdeb 100644 +--- a/ioctl.c ++++ b/ioctl.c +@@ -286,6 +286,10 @@ crypto_create_session(struct fcrypt *fcr, struct session_op *sop) + hash_name = "sha512"; + hmac_mode = 0; + break; ++ case CRYPTO_CRC32C: ++ hash_name = "crc32c"; ++ hmac_mode = 0; ++ break; + default: + ddebug(1, "bad mac: %d", sop->mac); + return -EINVAL; +diff --git a/tests/async_speed.c b/tests/async_speed.c +index 39a3d23..8978b4b 100644 +--- a/tests/async_speed.c ++++ b/tests/async_speed.c +@@ -65,6 +65,7 @@ int encrypt_data(struct session_op *sess, int fdc, int chunksize, int alignmask) + { + struct crypt_op cop; + char *buffer[64], iv[32]; ++ char mac[64][HASH_MAX_LEN]; + static int val = 23; + struct timeval start, end; + double total = 0; +@@ -114,6 +115,7 @@ int encrypt_data(struct session_op *sess, int fdc, int chunksize, int alignmask) + cop.iv = (unsigned char *)iv; + cop.op = COP_ENCRYPT; + cop.src = cop.dst = (unsigned char *)buffer[bufidx]; ++ cop.mac = mac[bufidx]; + bufidx = (bufidx + 1) % 64; + + if (ioctl(fdc, CIOCASYNCCRYPT, &cop)) { +@@ -235,6 +237,29 @@ int main(void) + break; + } + ++ fprintf(stderr, "\nTesting CRC32C hash: \n"); ++ memset(&sess, 0, sizeof(sess)); ++ sess.mac = CRYPTO_CRC32C; ++ if (ioctl(fdc, CIOCGSESSION, &sess)) { ++ perror("ioctl(CIOCGSESSION)"); ++ return 1; ++ } ++#ifdef CIOCGSESSINFO ++ siop.ses = sess.ses; ++ if (ioctl(fdc, CIOCGSESSINFO, &siop)) { ++ perror("ioctl(CIOCGSESSION)"); ++ return 1; ++ } ++ printf("requested hash CRYPTO_CRC32C, got %s with driver %s\n", ++ siop.hash_info.cra_name, siop.hash_info.cra_driver_name); ++ alignmask = siop.alignmask; ++#endif ++ ++ for (i = 256; i <= (64 * 1024); i *= 2) { ++ if (encrypt_data(&sess, fdc, i, alignmask)) ++ break; ++ } ++ + end: + close(fdc); + close(fd); +-- +2.10.2 + -- cgit v1.2.3-54-g00ecf