]> git.baikalelectronics.ru Git - kernel.git/commit
crypto: crc32 - add crc32 pclmulqdq implementation and wrappers for table implementation
authorAlexander Boyko <alexander_boyko@xyratex.com>
Thu, 10 Jan 2013 14:54:59 +0000 (18:54 +0400)
committerHerbert Xu <herbert@gondor.apana.org.au>
Sat, 19 Jan 2013 23:16:45 +0000 (10:16 +1100)
commit2d291a6184568e1effe52abdc643be92746970b6
tree123ed7322996e4e4a6922791d6e3a674ffc05cba
parentb516f5a34d7f9a23f693bec2f63f7e06b0742d7a
crypto: crc32 - add crc32 pclmulqdq implementation and wrappers for table implementation

This patch adds crc32 algorithms to shash crypto api. One is wrapper to
gerneric crc32_le function. Second is crc32 pclmulqdq implementation. It
use hardware provided PCLMULQDQ instruction to accelerate the CRC32 disposal.
This instruction present from Intel Westmere and AMD Bulldozer CPUs.

For intel core i5 I got 450MB/s for table implementation and 2100MB/s
for pclmulqdq implementation.

Signed-off-by: Alexander Boyko <alexander_boyko@xyratex.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
arch/x86/crypto/Makefile
arch/x86/crypto/crc32-pclmul_asm.S [new file with mode: 0644]
arch/x86/crypto/crc32-pclmul_glue.c [new file with mode: 0644]
crypto/Kconfig
crypto/Makefile
crypto/crc32.c [new file with mode: 0644]