aboutsummaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-10-02 15:57:42 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2012-10-02 15:57:42 -0400
commita20acf99f75e49271381d65db097c9763060a1e8 (patch)
tree3cf661125e86b7625171b96b885bf5395f62e684 /crypto
parent437589a74b6a590d175f86cf9f7b2efcee7765e7 (diff)
parent42a4172b6ebb4a419085c6caee7c135e51cae5ea (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/Kconfig97
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
339config 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
339config CRYPTO_GHASH 348config 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
366config 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
357config CRYPTO_MICHAEL_MIC 375config 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
454config 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
436config CRYPTO_SHA256 463config 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
475config 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
448config CRYPTO_SHA512 484config 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
496config 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
460config CRYPTO_TGR192 505config 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
636config 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
591config CRYPTO_ANUBIS 664config 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
761config 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
688config CRYPTO_CAST5 777config 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
797config 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
708config CRYPTO_FCRYPT 805config CRYPTO_FCRYPT
709 tristate "FCrypt cipher algorithm" 806 tristate "FCrypt cipher algorithm"
710 select CRYPTO_ALGAPI 807 select CRYPTO_ALGAPI