diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-02 15:57:42 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-02 15:57:42 -0400 |
commit | a20acf99f75e49271381d65db097c9763060a1e8 (patch) | |
tree | 3cf661125e86b7625171b96b885bf5395f62e684 /crypto | |
parent | 437589a74b6a590d175f86cf9f7b2efcee7765e7 (diff) | |
parent | 42a4172b6ebb4a419085c6caee7c135e51cae5ea (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next
Pull sparc updates from David Miller:
"Largely this is simply adding support for the Niagara 4 cpu.
Major areas are perf events (chip now supports 4 counters and can
monitor any event on each counter), crypto (opcodes are availble for
sha1, sha256, sha512, md5, crc32c, AES, DES, CAMELLIA, and Kasumi
although the last is unsupported since we lack a generic crypto layer
Kasumi implementation), and an optimized memcpy.
Finally some cleanups by Peter Senna Tschudin."
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next: (47 commits)
sparc64: Fix trailing whitespace in NG4 memcpy.
sparc64: Fix comment type in NG4 copy from user.
sparc64: Add SPARC-T4 optimized memcpy.
drivers/sbus/char: removes unnecessary semicolon
arch/sparc/kernel/pci_sun4v.c: removes unnecessary semicolon
sparc64: Fix function argument comment in camellia_sparc64_key_expand asm.
sparc64: Fix IV handling bug in des_sparc64_cbc_decrypt
sparc64: Add auto-loading mechanism to crypto-opcode drivers.
sparc64: Add missing pr_fmt define to crypto opcode drivers.
sparc64: Adjust crypto priorities.
sparc64: Use cpu_pgsz_mask for linear kernel mapping config.
sparc64: Probe cpu page size support more portably.
sparc64: Support 2GB and 16GB page sizes for kernel linear mappings.
sparc64: Fix bugs in unrolled 256-bit loops.
sparc64: Avoid code duplication in crypto assembler.
sparc64: Unroll CTR crypt loops in AES driver.
sparc64: Unroll ECB decryption loops in AES driver.
sparc64: Unroll ECB encryption loops in AES driver.
sparc64: Add ctr mode support to AES driver.
sparc64: Move AES driver over to a methods based implementation.
...
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/Kconfig | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/crypto/Kconfig b/crypto/Kconfig index a3238051b03e..94f232f96d03 100644 --- a/crypto/Kconfig +++ b/crypto/Kconfig | |||
@@ -336,6 +336,15 @@ config CRYPTO_CRC32C_INTEL | |||
336 | gain performance compared with software implementation. | 336 | gain performance compared with software implementation. |
337 | Module will be crc32c-intel. | 337 | Module will be crc32c-intel. |
338 | 338 | ||
339 | config CRYPTO_CRC32C_SPARC64 | ||
340 | tristate "CRC32c CRC algorithm (SPARC64)" | ||
341 | depends on SPARC64 | ||
342 | select CRYPTO_HASH | ||
343 | select CRC32 | ||
344 | help | ||
345 | CRC32c CRC algorithm implemented using sparc64 crypto instructions, | ||
346 | when available. | ||
347 | |||
339 | config CRYPTO_GHASH | 348 | config CRYPTO_GHASH |
340 | tristate "GHASH digest algorithm" | 349 | tristate "GHASH digest algorithm" |
341 | select CRYPTO_GF128MUL | 350 | select CRYPTO_GF128MUL |
@@ -354,6 +363,15 @@ config CRYPTO_MD5 | |||
354 | help | 363 | help |
355 | MD5 message digest algorithm (RFC1321). | 364 | MD5 message digest algorithm (RFC1321). |
356 | 365 | ||
366 | config CRYPTO_MD5_SPARC64 | ||
367 | tristate "MD5 digest algorithm (SPARC64)" | ||
368 | depends on SPARC64 | ||
369 | select CRYPTO_MD5 | ||
370 | select CRYPTO_HASH | ||
371 | help | ||
372 | MD5 message digest algorithm (RFC1321) implemented | ||
373 | using sparc64 crypto instructions, when available. | ||
374 | |||
357 | config CRYPTO_MICHAEL_MIC | 375 | config CRYPTO_MICHAEL_MIC |
358 | tristate "Michael MIC keyed digest algorithm" | 376 | tristate "Michael MIC keyed digest algorithm" |
359 | select CRYPTO_HASH | 377 | select CRYPTO_HASH |
@@ -433,6 +451,15 @@ config CRYPTO_SHA1_SSSE3 | |||
433 | using Supplemental SSE3 (SSSE3) instructions or Advanced Vector | 451 | using Supplemental SSE3 (SSSE3) instructions or Advanced Vector |
434 | Extensions (AVX), when available. | 452 | Extensions (AVX), when available. |
435 | 453 | ||
454 | config CRYPTO_SHA1_SPARC64 | ||
455 | tristate "SHA1 digest algorithm (SPARC64)" | ||
456 | depends on SPARC64 | ||
457 | select CRYPTO_SHA1 | ||
458 | select CRYPTO_HASH | ||
459 | help | ||
460 | SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented | ||
461 | using sparc64 crypto instructions, when available. | ||
462 | |||
436 | config CRYPTO_SHA256 | 463 | config CRYPTO_SHA256 |
437 | tristate "SHA224 and SHA256 digest algorithm" | 464 | tristate "SHA224 and SHA256 digest algorithm" |
438 | select CRYPTO_HASH | 465 | select CRYPTO_HASH |
@@ -445,6 +472,15 @@ config CRYPTO_SHA256 | |||
445 | This code also includes SHA-224, a 224 bit hash with 112 bits | 472 | This code also includes SHA-224, a 224 bit hash with 112 bits |
446 | of security against collision attacks. | 473 | of security against collision attacks. |
447 | 474 | ||
475 | config CRYPTO_SHA256_SPARC64 | ||
476 | tristate "SHA224 and SHA256 digest algorithm (SPARC64)" | ||
477 | depends on SPARC64 | ||
478 | select CRYPTO_SHA256 | ||
479 | select CRYPTO_HASH | ||
480 | help | ||
481 | SHA-256 secure hash standard (DFIPS 180-2) implemented | ||
482 | using sparc64 crypto instructions, when available. | ||
483 | |||
448 | config CRYPTO_SHA512 | 484 | config CRYPTO_SHA512 |
449 | tristate "SHA384 and SHA512 digest algorithms" | 485 | tristate "SHA384 and SHA512 digest algorithms" |
450 | select CRYPTO_HASH | 486 | select CRYPTO_HASH |
@@ -457,6 +493,15 @@ config CRYPTO_SHA512 | |||
457 | This code also includes SHA-384, a 384 bit hash with 192 bits | 493 | This code also includes SHA-384, a 384 bit hash with 192 bits |
458 | of security against collision attacks. | 494 | of security against collision attacks. |
459 | 495 | ||
496 | config CRYPTO_SHA512_SPARC64 | ||
497 | tristate "SHA384 and SHA512 digest algorithm (SPARC64)" | ||
498 | depends on SPARC64 | ||
499 | select CRYPTO_SHA512 | ||
500 | select CRYPTO_HASH | ||
501 | help | ||
502 | SHA-512 secure hash standard (DFIPS 180-2) implemented | ||
503 | using sparc64 crypto instructions, when available. | ||
504 | |||
460 | config CRYPTO_TGR192 | 505 | config CRYPTO_TGR192 |
461 | tristate "Tiger digest algorithms" | 506 | tristate "Tiger digest algorithms" |
462 | select CRYPTO_HASH | 507 | select CRYPTO_HASH |
@@ -588,6 +633,34 @@ config CRYPTO_AES_NI_INTEL | |||
588 | ECB, CBC, LRW, PCBC, XTS. The 64 bit version has additional | 633 | ECB, CBC, LRW, PCBC, XTS. The 64 bit version has additional |
589 | acceleration for CTR. | 634 | acceleration for CTR. |
590 | 635 | ||
636 | config CRYPTO_AES_SPARC64 | ||
637 | tristate "AES cipher algorithms (SPARC64)" | ||
638 | depends on SPARC64 | ||
639 | select CRYPTO_CRYPTD | ||
640 | select CRYPTO_ALGAPI | ||
641 | help | ||
642 | Use SPARC64 crypto opcodes for AES algorithm. | ||
643 | |||
644 | AES cipher algorithms (FIPS-197). AES uses the Rijndael | ||
645 | algorithm. | ||
646 | |||
647 | Rijndael appears to be consistently a very good performer in | ||
648 | both hardware and software across a wide range of computing | ||
649 | environments regardless of its use in feedback or non-feedback | ||
650 | modes. Its key setup time is excellent, and its key agility is | ||
651 | good. Rijndael's very low memory requirements make it very well | ||
652 | suited for restricted-space environments, in which it also | ||
653 | demonstrates excellent performance. Rijndael's operations are | ||
654 | among the easiest to defend against power and timing attacks. | ||
655 | |||
656 | The AES specifies three key sizes: 128, 192 and 256 bits | ||
657 | |||
658 | See <http://csrc.nist.gov/encryption/aes/> for more information. | ||
659 | |||
660 | In addition to AES cipher algorithm support, the acceleration | ||
661 | for some popular block cipher mode is supported too, including | ||
662 | ECB and CBC. | ||
663 | |||
591 | config CRYPTO_ANUBIS | 664 | config CRYPTO_ANUBIS |
592 | tristate "Anubis cipher algorithm" | 665 | tristate "Anubis cipher algorithm" |
593 | select CRYPTO_ALGAPI | 666 | select CRYPTO_ALGAPI |
@@ -685,6 +758,22 @@ config CRYPTO_CAMELLIA_X86_64 | |||
685 | See also: | 758 | See also: |
686 | <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html> | 759 | <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html> |
687 | 760 | ||
761 | config CRYPTO_CAMELLIA_SPARC64 | ||
762 | tristate "Camellia cipher algorithm (SPARC64)" | ||
763 | depends on SPARC64 | ||
764 | depends on CRYPTO | ||
765 | select CRYPTO_ALGAPI | ||
766 | help | ||
767 | Camellia cipher algorithm module (SPARC64). | ||
768 | |||
769 | Camellia is a symmetric key block cipher developed jointly | ||
770 | at NTT and Mitsubishi Electric Corporation. | ||
771 | |||
772 | The Camellia specifies three key sizes: 128, 192 and 256 bits. | ||
773 | |||
774 | See also: | ||
775 | <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html> | ||
776 | |||
688 | config CRYPTO_CAST5 | 777 | config CRYPTO_CAST5 |
689 | tristate "CAST5 (CAST-128) cipher algorithm" | 778 | tristate "CAST5 (CAST-128) cipher algorithm" |
690 | select CRYPTO_ALGAPI | 779 | select CRYPTO_ALGAPI |
@@ -705,6 +794,14 @@ config CRYPTO_DES | |||
705 | help | 794 | help |
706 | DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3). | 795 | DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3). |
707 | 796 | ||
797 | config CRYPTO_DES_SPARC64 | ||
798 | tristate "DES and Triple DES EDE cipher algorithms (SPARC64)" | ||
799 | select CRYPTO_ALGAPI | ||
800 | select CRYPTO_DES | ||
801 | help | ||
802 | DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3), | ||
803 | optimized using SPARC64 crypto opcodes. | ||
804 | |||
708 | config CRYPTO_FCRYPT | 805 | config CRYPTO_FCRYPT |
709 | tristate "FCrypt cipher algorithm" | 806 | tristate "FCrypt cipher algorithm" |
710 | select CRYPTO_ALGAPI | 807 | select CRYPTO_ALGAPI |