Version 8 of the ARM architecture introduces both a set of dedicated CRC32 instructions, and a 64x64 to 128 bit polynomial multiplication instruction, both of which can be used to accelerate CRC32 calculations. These patches contains ports of the existing polynomial multiplication based CRC32 code that resides in arch/x86/crypto/crc32-pclmul_asm.S, but since that algorithm operates on multiples of 16 bytes only, and requires at least 64 bytes of input, the remainders are calculated with the CRC32 instructions, if available. These patches apply on top of the CRC-T10DIF series I sent out last Thursday. https://git.kernel.org/cgit/linux/kernel/git/ardb/linux.git/log/?h=crc32 Ard Biesheuvel (2): crypto: arm64/crc32 - accelerated support based on x86 SSE implementation crypto: arm/crc32 - accelerated support based on x86 SSE implementation arch/arm/crypto/Kconfig | 5 + arch/arm/crypto/Makefile | 2 + arch/arm/crypto/crc32-ce-core.S | 257 ++++++++++++++++++++ arch/arm/crypto/crc32-ce-glue.c | 129 ++++++++++ arch/arm64/crypto/Kconfig | 6 + arch/arm64/crypto/Makefile | 3 + arch/arm64/crypto/crc32-ce-core.S | 246 +++++++++++++++++++ arch/arm64/crypto/crc32-ce-glue.c | 124 ++++++++++ 8 files changed, 772 insertions(+) create mode 100644 arch/arm/crypto/crc32-ce-core.S create mode 100644 arch/arm/crypto/crc32-ce-glue.c create mode 100644 arch/arm64/crypto/crc32-ce-core.S create mode 100644 arch/arm64/crypto/crc32-ce-glue.c -- 2.7.4 -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html