aboutsummaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authorAustin Zhang <austin.zhang@intel.com>2008-08-06 21:57:03 -0400
committerHerbert Xu <herbert@gondor.apana.org.au>2008-08-29 01:49:50 -0400
commit8cb51ba8e06570a5fff674b3744d12a1b089f2d0 (patch)
treecb46d2598a22aeffb68827b1d09fe4cb1dcd7612 /crypto
parentf139cfa7cdccd0b315fad098889897b5fcd389b0 (diff)
crypto: crc32c - Use Intel CRC32 instruction
From NHM processor onward, Intel processors can support hardware accelerated CRC32c algorithm with the new CRC32 instruction in SSE 4.2 instruction set. The patch detects the availability of the feature, and chooses the most proper way to calculate CRC32c checksum. Byte code instructions are used for compiler compatibility. No MMX / XMM registers is involved in the implementation. Signed-off-by: Austin Zhang <austin.zhang@intel.com> Signed-off-by: Kent Liu <kent.liu@intel.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto')
-rw-r--r--crypto/Kconfig12
1 files changed, 12 insertions, 0 deletions
diff --git a/crypto/Kconfig b/crypto/Kconfig
index 4f72b308606f..797b9e15d720 100644
--- a/crypto/Kconfig
+++ b/crypto/Kconfig
@@ -221,6 +221,18 @@ config CRYPTO_CRC32C
221 See Castagnoli93. This implementation uses lib/libcrc32c. 221 See Castagnoli93. This implementation uses lib/libcrc32c.
222 Module will be crc32c. 222 Module will be crc32c.
223 223
224config CRYPTO_CRC32C_INTEL
225 tristate "CRC32c INTEL hardware acceleration"
226 depends on X86
227 select CRYPTO_HASH
228 help
229 In Intel processor with SSE4.2 supported, the processor will
230 support CRC32C implementation using hardware accelerated CRC32
231 instruction. This option will create 'crc32c-intel' module,
232 which will enable any routine to use the CRC32 instruction to
233 gain performance compared with software implementation.
234 Module will be crc32c-intel.
235
224config CRYPTO_MD4 236config CRYPTO_MD4
225 tristate "MD4 digest algorithm" 237 tristate "MD4 digest algorithm"
226 select CRYPTO_ALGAPI 238 select CRYPTO_ALGAPI