1*6a490a4eSRobert Elliott# SPDX-License-Identifier: GPL-2.0 2*6a490a4eSRobert Elliott 3*6a490a4eSRobert Elliottmenu "Accelerated Cryptographic Algorithms for CPU (powerpc)" 4*6a490a4eSRobert Elliott 5*6a490a4eSRobert Elliottconfig CRYPTO_CRC32C_VPMSUM 6*6a490a4eSRobert Elliott tristate "CRC32c CRC algorithm (powerpc64)" 7*6a490a4eSRobert Elliott depends on PPC64 && ALTIVEC 8*6a490a4eSRobert Elliott select CRYPTO_HASH 9*6a490a4eSRobert Elliott select CRC32 10*6a490a4eSRobert Elliott help 11*6a490a4eSRobert Elliott CRC32c algorithm implemented using vector polynomial multiply-sum 12*6a490a4eSRobert Elliott (vpmsum) instructions, introduced in POWER8. Enable on POWER8 13*6a490a4eSRobert Elliott and newer processors for improved performance. 14*6a490a4eSRobert Elliott 15*6a490a4eSRobert Elliottconfig CRYPTO_CRCT10DIF_VPMSUM 16*6a490a4eSRobert Elliott tristate "CRC32T10DIF powerpc64 hardware acceleration" 17*6a490a4eSRobert Elliott depends on PPC64 && ALTIVEC && CRC_T10DIF 18*6a490a4eSRobert Elliott select CRYPTO_HASH 19*6a490a4eSRobert Elliott help 20*6a490a4eSRobert Elliott CRC10T10DIF algorithm implemented using vector polynomial 21*6a490a4eSRobert Elliott multiply-sum (vpmsum) instructions, introduced in POWER8. Enable on 22*6a490a4eSRobert Elliott POWER8 and newer processors for improved performance. 23*6a490a4eSRobert Elliott 24*6a490a4eSRobert Elliottconfig CRYPTO_VPMSUM_TESTER 25*6a490a4eSRobert Elliott tristate "Powerpc64 vpmsum hardware acceleration tester" 26*6a490a4eSRobert Elliott depends on CRYPTO_CRCT10DIF_VPMSUM && CRYPTO_CRC32C_VPMSUM 27*6a490a4eSRobert Elliott help 28*6a490a4eSRobert Elliott Stress test for CRC32c and CRC-T10DIF algorithms implemented with 29*6a490a4eSRobert Elliott POWER8 vpmsum instructions. 30*6a490a4eSRobert Elliott Unless you are testing these algorithms, you don't need this. 31*6a490a4eSRobert Elliott 32*6a490a4eSRobert Elliottconfig CRYPTO_MD5_PPC 33*6a490a4eSRobert Elliott tristate "MD5 digest algorithm (PPC)" 34*6a490a4eSRobert Elliott depends on PPC 35*6a490a4eSRobert Elliott select CRYPTO_HASH 36*6a490a4eSRobert Elliott help 37*6a490a4eSRobert Elliott MD5 message digest algorithm (RFC1321) implemented 38*6a490a4eSRobert Elliott in PPC assembler. 39*6a490a4eSRobert Elliott 40*6a490a4eSRobert Elliottconfig CRYPTO_SHA1_PPC 41*6a490a4eSRobert Elliott tristate "SHA1 digest algorithm (powerpc)" 42*6a490a4eSRobert Elliott depends on PPC 43*6a490a4eSRobert Elliott help 44*6a490a4eSRobert Elliott This is the powerpc hardware accelerated implementation of the 45*6a490a4eSRobert Elliott SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2). 46*6a490a4eSRobert Elliott 47*6a490a4eSRobert Elliottconfig CRYPTO_SHA1_PPC_SPE 48*6a490a4eSRobert Elliott tristate "SHA1 digest algorithm (PPC SPE)" 49*6a490a4eSRobert Elliott depends on PPC && SPE 50*6a490a4eSRobert Elliott help 51*6a490a4eSRobert Elliott SHA-1 secure hash standard (DFIPS 180-4) implemented 52*6a490a4eSRobert Elliott using powerpc SPE SIMD instruction set. 53*6a490a4eSRobert Elliott 54*6a490a4eSRobert Elliottconfig CRYPTO_SHA256_PPC_SPE 55*6a490a4eSRobert Elliott tristate "SHA224 and SHA256 digest algorithm (PPC SPE)" 56*6a490a4eSRobert Elliott depends on PPC && SPE 57*6a490a4eSRobert Elliott select CRYPTO_SHA256 58*6a490a4eSRobert Elliott select CRYPTO_HASH 59*6a490a4eSRobert Elliott help 60*6a490a4eSRobert Elliott SHA224 and SHA256 secure hash standard (DFIPS 180-2) 61*6a490a4eSRobert Elliott implemented using powerpc SPE SIMD instruction set. 62*6a490a4eSRobert Elliott 63*6a490a4eSRobert Elliottconfig CRYPTO_AES_PPC_SPE 64*6a490a4eSRobert Elliott tristate "AES cipher algorithms (PPC SPE)" 65*6a490a4eSRobert Elliott depends on PPC && SPE 66*6a490a4eSRobert Elliott select CRYPTO_SKCIPHER 67*6a490a4eSRobert Elliott help 68*6a490a4eSRobert Elliott AES cipher algorithms (FIPS-197). Additionally the acceleration 69*6a490a4eSRobert Elliott for popular block cipher modes ECB, CBC, CTR and XTS is supported. 70*6a490a4eSRobert Elliott This module should only be used for low power (router) devices 71*6a490a4eSRobert Elliott without hardware AES acceleration (e.g. caam crypto). It reduces the 72*6a490a4eSRobert Elliott size of the AES tables from 16KB to 8KB + 256 bytes and mitigates 73*6a490a4eSRobert Elliott timining attacks. Nevertheless it might be not as secure as other 74*6a490a4eSRobert Elliott architecture specific assembler implementations that work on 1KB 75*6a490a4eSRobert Elliott tables or 256 bytes S-boxes. 76*6a490a4eSRobert Elliott 77*6a490a4eSRobert Elliottendmenu 78