crypto: crc32c - Use Intel CRC32 instruction
authorAustin Zhang <austin.zhang@intel.com>
Thu, 7 Aug 2008 01:57:03 +0000 (09:57 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 29 Aug 2008 05:49:50 +0000 (15:49 +1000)
commit8cb51ba8e06570a5fff674b3744d12a1b089f2d0
treecb46d2598a22aeffb68827b1d09fe4cb1dcd7612
parentf139cfa7cdccd0b315fad098889897b5fcd389b0
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>
arch/x86/crypto/Makefile
arch/x86/crypto/crc32c-intel.c [new file with mode: 0644]
crypto/Kconfig