projects
/
kernel
/
kernel-generic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
8c4196a
)
crypto: crc32-pclmul - Use gas macro for pclmulqdq
author
Sandy Wu
<sandyw@twitter.com>
Fri, 29 Mar 2013 00:05:44 +0000
(17:05 -0700)
committer
Herbert Xu
<herbert@gondor.apana.org.au>
Thu, 25 Apr 2013 13:01:44 +0000
(21:01 +0800)
Occurs when CONFIG_CRYPTO_CRC32C_INTEL=y and CONFIG_CRYPTO_CRC32C_INTEL=y.
Older versions of bintuils do not support the pclmulqdq instruction. The
PCLMULQDQ gas macro is used instead.
Signed-off-by: Sandy Wu <sandyw@twitter.com>
Cc: stable@vger.kernel.org # 3.8+
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
arch/x86/crypto/crc32c-pcl-intel-asm_64.S
patch
|
blob
|
history
diff --git
a/arch/x86/crypto/crc32c-pcl-intel-asm_64.S
b/arch/x86/crypto/crc32c-pcl-intel-asm_64.S
index
19ec73f
..
dbc4339
100644
(file)
--- a/
arch/x86/crypto/crc32c-pcl-intel-asm_64.S
+++ b/
arch/x86/crypto/crc32c-pcl-intel-asm_64.S
@@
-43,6
+43,7
@@
* SOFTWARE.
*/
+#include <asm/inst.h>
#include <linux/linkage.h>
## ISCSI CRC 32 Implementation with crc32 and pclmulqdq Instruction
@@
-226,10
+227,10
@@
LABEL crc_ %i
movdqa (bufp), %xmm0 # 2 consts: K1:K2
movq crc_init, %xmm1 # CRC for block 1
-
pclmulqdq $0x00,%xmm0,%xmm1
# Multiply by K2
+
PCLMULQDQ 0x00,%xmm0,%xmm1
# Multiply by K2
movq crc1, %xmm2 # CRC for block 2
-
pclmulqdq $0x10, %xmm0, %xmm2
# Multiply by K1
+
PCLMULQDQ 0x10, %xmm0, %xmm2
# Multiply by K1
pxor %xmm2,%xmm1
movq %xmm1, %rax