162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci
362306a36Sopenharmony_cimenu "Accelerated Cryptographic Algorithms for CPU (arm64)"
462306a36Sopenharmony_ci
562306a36Sopenharmony_ciconfig CRYPTO_GHASH_ARM64_CE
662306a36Sopenharmony_ci	tristate "Hash functions: GHASH (ARMv8 Crypto Extensions)"
762306a36Sopenharmony_ci	depends on KERNEL_MODE_NEON
862306a36Sopenharmony_ci	select CRYPTO_HASH
962306a36Sopenharmony_ci	select CRYPTO_LIB_AES
1062306a36Sopenharmony_ci	select CRYPTO_LIB_GF128MUL
1162306a36Sopenharmony_ci	select CRYPTO_AEAD
1262306a36Sopenharmony_ci	help
1362306a36Sopenharmony_ci	  GCM GHASH function (NIST SP800-38D)
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci	  Architecture: arm64 using:
1662306a36Sopenharmony_ci	  - ARMv8 Crypto Extensions
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ciconfig CRYPTO_NHPOLY1305_NEON
1962306a36Sopenharmony_ci	tristate "Hash functions: NHPoly1305 (NEON)"
2062306a36Sopenharmony_ci	depends on KERNEL_MODE_NEON
2162306a36Sopenharmony_ci	select CRYPTO_NHPOLY1305
2262306a36Sopenharmony_ci	help
2362306a36Sopenharmony_ci	  NHPoly1305 hash function (Adiantum)
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci	  Architecture: arm64 using:
2662306a36Sopenharmony_ci	  - NEON (Advanced SIMD) extensions
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ciconfig CRYPTO_POLY1305_NEON
2962306a36Sopenharmony_ci	tristate "Hash functions: Poly1305 (NEON)"
3062306a36Sopenharmony_ci	depends on KERNEL_MODE_NEON
3162306a36Sopenharmony_ci	select CRYPTO_HASH
3262306a36Sopenharmony_ci	select CRYPTO_ARCH_HAVE_LIB_POLY1305
3362306a36Sopenharmony_ci	help
3462306a36Sopenharmony_ci	  Poly1305 authenticator algorithm (RFC7539)
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci	  Architecture: arm64 using:
3762306a36Sopenharmony_ci	  - NEON (Advanced SIMD) extensions
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ciconfig CRYPTO_SHA1_ARM64_CE
4062306a36Sopenharmony_ci	tristate "Hash functions: SHA-1 (ARMv8 Crypto Extensions)"
4162306a36Sopenharmony_ci	depends on KERNEL_MODE_NEON
4262306a36Sopenharmony_ci	select CRYPTO_HASH
4362306a36Sopenharmony_ci	select CRYPTO_SHA1
4462306a36Sopenharmony_ci	help
4562306a36Sopenharmony_ci	  SHA-1 secure hash algorithm (FIPS 180)
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci	  Architecture: arm64 using:
4862306a36Sopenharmony_ci	  - ARMv8 Crypto Extensions
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ciconfig CRYPTO_SHA256_ARM64
5162306a36Sopenharmony_ci	tristate "Hash functions: SHA-224 and SHA-256"
5262306a36Sopenharmony_ci	select CRYPTO_HASH
5362306a36Sopenharmony_ci	help
5462306a36Sopenharmony_ci	  SHA-224 and SHA-256 secure hash algorithms (FIPS 180)
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci	  Architecture: arm64
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ciconfig CRYPTO_SHA2_ARM64_CE
5962306a36Sopenharmony_ci	tristate "Hash functions: SHA-224 and SHA-256 (ARMv8 Crypto Extensions)"
6062306a36Sopenharmony_ci	depends on KERNEL_MODE_NEON
6162306a36Sopenharmony_ci	select CRYPTO_HASH
6262306a36Sopenharmony_ci	select CRYPTO_SHA256_ARM64
6362306a36Sopenharmony_ci	help
6462306a36Sopenharmony_ci	  SHA-224 and SHA-256 secure hash algorithms (FIPS 180)
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ci	  Architecture: arm64 using:
6762306a36Sopenharmony_ci	  - ARMv8 Crypto Extensions
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ciconfig CRYPTO_SHA512_ARM64
7062306a36Sopenharmony_ci	tristate "Hash functions: SHA-384 and SHA-512"
7162306a36Sopenharmony_ci	select CRYPTO_HASH
7262306a36Sopenharmony_ci	help
7362306a36Sopenharmony_ci	  SHA-384 and SHA-512 secure hash algorithms (FIPS 180)
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ci	  Architecture: arm64
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_ciconfig CRYPTO_SHA512_ARM64_CE
7862306a36Sopenharmony_ci	tristate "Hash functions: SHA-384 and SHA-512 (ARMv8 Crypto Extensions)"
7962306a36Sopenharmony_ci	depends on KERNEL_MODE_NEON
8062306a36Sopenharmony_ci	select CRYPTO_HASH
8162306a36Sopenharmony_ci	select CRYPTO_SHA512_ARM64
8262306a36Sopenharmony_ci	help
8362306a36Sopenharmony_ci	  SHA-384 and SHA-512 secure hash algorithms (FIPS 180)
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ci	  Architecture: arm64 using:
8662306a36Sopenharmony_ci	  - ARMv8 Crypto Extensions
8762306a36Sopenharmony_ci
8862306a36Sopenharmony_ciconfig CRYPTO_SHA3_ARM64
8962306a36Sopenharmony_ci	tristate "Hash functions: SHA-3 (ARMv8.2 Crypto Extensions)"
9062306a36Sopenharmony_ci	depends on KERNEL_MODE_NEON
9162306a36Sopenharmony_ci	select CRYPTO_HASH
9262306a36Sopenharmony_ci	select CRYPTO_SHA3
9362306a36Sopenharmony_ci	help
9462306a36Sopenharmony_ci	  SHA-3 secure hash algorithms (FIPS 202)
9562306a36Sopenharmony_ci
9662306a36Sopenharmony_ci	  Architecture: arm64 using:
9762306a36Sopenharmony_ci	  - ARMv8.2 Crypto Extensions
9862306a36Sopenharmony_ci
9962306a36Sopenharmony_ciconfig CRYPTO_SM3_NEON
10062306a36Sopenharmony_ci	tristate "Hash functions: SM3 (NEON)"
10162306a36Sopenharmony_ci	depends on KERNEL_MODE_NEON
10262306a36Sopenharmony_ci	select CRYPTO_HASH
10362306a36Sopenharmony_ci	select CRYPTO_SM3
10462306a36Sopenharmony_ci	help
10562306a36Sopenharmony_ci	  SM3 (ShangMi 3) secure hash function (OSCCA GM/T 0004-2012)
10662306a36Sopenharmony_ci
10762306a36Sopenharmony_ci	  Architecture: arm64 using:
10862306a36Sopenharmony_ci	  - NEON (Advanced SIMD) extensions
10962306a36Sopenharmony_ci
11062306a36Sopenharmony_ciconfig CRYPTO_SM3_ARM64_CE
11162306a36Sopenharmony_ci	tristate "Hash functions: SM3 (ARMv8.2 Crypto Extensions)"
11262306a36Sopenharmony_ci	depends on KERNEL_MODE_NEON
11362306a36Sopenharmony_ci	select CRYPTO_HASH
11462306a36Sopenharmony_ci	select CRYPTO_SM3
11562306a36Sopenharmony_ci	help
11662306a36Sopenharmony_ci	  SM3 (ShangMi 3) secure hash function (OSCCA GM/T 0004-2012)
11762306a36Sopenharmony_ci
11862306a36Sopenharmony_ci	  Architecture: arm64 using:
11962306a36Sopenharmony_ci	  - ARMv8.2 Crypto Extensions
12062306a36Sopenharmony_ci
12162306a36Sopenharmony_ciconfig CRYPTO_POLYVAL_ARM64_CE
12262306a36Sopenharmony_ci	tristate "Hash functions: POLYVAL (ARMv8 Crypto Extensions)"
12362306a36Sopenharmony_ci	depends on KERNEL_MODE_NEON
12462306a36Sopenharmony_ci	select CRYPTO_POLYVAL
12562306a36Sopenharmony_ci	help
12662306a36Sopenharmony_ci	  POLYVAL hash function for HCTR2
12762306a36Sopenharmony_ci
12862306a36Sopenharmony_ci	  Architecture: arm64 using:
12962306a36Sopenharmony_ci	  - ARMv8 Crypto Extensions
13062306a36Sopenharmony_ci
13162306a36Sopenharmony_ciconfig CRYPTO_AES_ARM64
13262306a36Sopenharmony_ci	tristate "Ciphers: AES, modes: ECB, CBC, CTR, CTS, XCTR, XTS"
13362306a36Sopenharmony_ci	select CRYPTO_AES
13462306a36Sopenharmony_ci	help
13562306a36Sopenharmony_ci	  Block ciphers: AES cipher algorithms (FIPS-197)
13662306a36Sopenharmony_ci	  Length-preserving ciphers: AES with ECB, CBC, CTR, CTS,
13762306a36Sopenharmony_ci	    XCTR, and XTS modes
13862306a36Sopenharmony_ci	  AEAD cipher: AES with CBC, ESSIV, and SHA-256
13962306a36Sopenharmony_ci	    for fscrypt and dm-crypt
14062306a36Sopenharmony_ci
14162306a36Sopenharmony_ci	  Architecture: arm64
14262306a36Sopenharmony_ci
14362306a36Sopenharmony_ciconfig CRYPTO_AES_ARM64_CE
14462306a36Sopenharmony_ci	tristate "Ciphers: AES (ARMv8 Crypto Extensions)"
14562306a36Sopenharmony_ci	depends on ARM64 && KERNEL_MODE_NEON
14662306a36Sopenharmony_ci	select CRYPTO_ALGAPI
14762306a36Sopenharmony_ci	select CRYPTO_LIB_AES
14862306a36Sopenharmony_ci	help
14962306a36Sopenharmony_ci	  Block ciphers: AES cipher algorithms (FIPS-197)
15062306a36Sopenharmony_ci
15162306a36Sopenharmony_ci	  Architecture: arm64 using:
15262306a36Sopenharmony_ci	  - ARMv8 Crypto Extensions
15362306a36Sopenharmony_ci
15462306a36Sopenharmony_ciconfig CRYPTO_AES_ARM64_CE_BLK
15562306a36Sopenharmony_ci	tristate "Ciphers: AES, modes: ECB/CBC/CTR/XTS (ARMv8 Crypto Extensions)"
15662306a36Sopenharmony_ci	depends on KERNEL_MODE_NEON
15762306a36Sopenharmony_ci	select CRYPTO_SKCIPHER
15862306a36Sopenharmony_ci	select CRYPTO_AES_ARM64_CE
15962306a36Sopenharmony_ci	help
16062306a36Sopenharmony_ci	  Length-preserving ciphers: AES cipher algorithms (FIPS-197)
16162306a36Sopenharmony_ci	  with block cipher modes:
16262306a36Sopenharmony_ci	  - ECB (Electronic Codebook) mode (NIST SP800-38A)
16362306a36Sopenharmony_ci	  - CBC (Cipher Block Chaining) mode (NIST SP800-38A)
16462306a36Sopenharmony_ci	  - CTR (Counter) mode (NIST SP800-38A)
16562306a36Sopenharmony_ci	  - XTS (XOR Encrypt XOR with ciphertext stealing) mode (NIST SP800-38E
16662306a36Sopenharmony_ci	    and IEEE 1619)
16762306a36Sopenharmony_ci
16862306a36Sopenharmony_ci	  Architecture: arm64 using:
16962306a36Sopenharmony_ci	  - ARMv8 Crypto Extensions
17062306a36Sopenharmony_ci
17162306a36Sopenharmony_ciconfig CRYPTO_AES_ARM64_NEON_BLK
17262306a36Sopenharmony_ci	tristate "Ciphers: AES, modes: ECB/CBC/CTR/XTS (NEON)"
17362306a36Sopenharmony_ci	depends on KERNEL_MODE_NEON
17462306a36Sopenharmony_ci	select CRYPTO_SKCIPHER
17562306a36Sopenharmony_ci	select CRYPTO_LIB_AES
17662306a36Sopenharmony_ci	help
17762306a36Sopenharmony_ci	  Length-preserving ciphers: AES cipher algorithms (FIPS-197)
17862306a36Sopenharmony_ci	  with block cipher modes:
17962306a36Sopenharmony_ci	  - ECB (Electronic Codebook) mode (NIST SP800-38A)
18062306a36Sopenharmony_ci	  - CBC (Cipher Block Chaining) mode (NIST SP800-38A)
18162306a36Sopenharmony_ci	  - CTR (Counter) mode (NIST SP800-38A)
18262306a36Sopenharmony_ci	  - XTS (XOR Encrypt XOR with ciphertext stealing) mode (NIST SP800-38E
18362306a36Sopenharmony_ci	    and IEEE 1619)
18462306a36Sopenharmony_ci
18562306a36Sopenharmony_ci	  Architecture: arm64 using:
18662306a36Sopenharmony_ci	  - NEON (Advanced SIMD) extensions
18762306a36Sopenharmony_ci
18862306a36Sopenharmony_ciconfig CRYPTO_CHACHA20_NEON
18962306a36Sopenharmony_ci	tristate "Ciphers: ChaCha (NEON)"
19062306a36Sopenharmony_ci	depends on KERNEL_MODE_NEON
19162306a36Sopenharmony_ci	select CRYPTO_SKCIPHER
19262306a36Sopenharmony_ci	select CRYPTO_LIB_CHACHA_GENERIC
19362306a36Sopenharmony_ci	select CRYPTO_ARCH_HAVE_LIB_CHACHA
19462306a36Sopenharmony_ci	help
19562306a36Sopenharmony_ci	  Length-preserving ciphers: ChaCha20, XChaCha20, and XChaCha12
19662306a36Sopenharmony_ci	  stream cipher algorithms
19762306a36Sopenharmony_ci
19862306a36Sopenharmony_ci	  Architecture: arm64 using:
19962306a36Sopenharmony_ci	  - NEON (Advanced SIMD) extensions
20062306a36Sopenharmony_ci
20162306a36Sopenharmony_ciconfig CRYPTO_AES_ARM64_BS
20262306a36Sopenharmony_ci	tristate "Ciphers: AES, modes: ECB/CBC/CTR/XCTR/XTS modes (bit-sliced NEON)"
20362306a36Sopenharmony_ci	depends on KERNEL_MODE_NEON
20462306a36Sopenharmony_ci	select CRYPTO_SKCIPHER
20562306a36Sopenharmony_ci	select CRYPTO_AES_ARM64_NEON_BLK
20662306a36Sopenharmony_ci	select CRYPTO_LIB_AES
20762306a36Sopenharmony_ci	help
20862306a36Sopenharmony_ci	  Length-preserving ciphers: AES cipher algorithms (FIPS-197)
20962306a36Sopenharmony_ci	  with block cipher modes:
21062306a36Sopenharmony_ci	  - ECB (Electronic Codebook) mode (NIST SP800-38A)
21162306a36Sopenharmony_ci	  - CBC (Cipher Block Chaining) mode (NIST SP800-38A)
21262306a36Sopenharmony_ci	  - CTR (Counter) mode (NIST SP800-38A)
21362306a36Sopenharmony_ci	  - XCTR mode for HCTR2
21462306a36Sopenharmony_ci	  - XTS (XOR Encrypt XOR with ciphertext stealing) mode (NIST SP800-38E
21562306a36Sopenharmony_ci	    and IEEE 1619)
21662306a36Sopenharmony_ci
21762306a36Sopenharmony_ci	  Architecture: arm64 using:
21862306a36Sopenharmony_ci	  - bit-sliced algorithm
21962306a36Sopenharmony_ci	  - NEON (Advanced SIMD) extensions
22062306a36Sopenharmony_ci
22162306a36Sopenharmony_ciconfig CRYPTO_SM4_ARM64_CE
22262306a36Sopenharmony_ci	tristate "Ciphers: SM4 (ARMv8.2 Crypto Extensions)"
22362306a36Sopenharmony_ci	depends on KERNEL_MODE_NEON
22462306a36Sopenharmony_ci	select CRYPTO_ALGAPI
22562306a36Sopenharmony_ci	select CRYPTO_SM4
22662306a36Sopenharmony_ci	help
22762306a36Sopenharmony_ci	  Block ciphers: SM4 cipher algorithms (OSCCA GB/T 32907-2016)
22862306a36Sopenharmony_ci
22962306a36Sopenharmony_ci	  Architecture: arm64 using:
23062306a36Sopenharmony_ci	  - ARMv8.2 Crypto Extensions
23162306a36Sopenharmony_ci	  - NEON (Advanced SIMD) extensions
23262306a36Sopenharmony_ci
23362306a36Sopenharmony_ciconfig CRYPTO_SM4_ARM64_CE_BLK
23462306a36Sopenharmony_ci	tristate "Ciphers: SM4, modes: ECB/CBC/CFB/CTR/XTS (ARMv8 Crypto Extensions)"
23562306a36Sopenharmony_ci	depends on KERNEL_MODE_NEON
23662306a36Sopenharmony_ci	select CRYPTO_SKCIPHER
23762306a36Sopenharmony_ci	select CRYPTO_SM4
23862306a36Sopenharmony_ci	help
23962306a36Sopenharmony_ci	  Length-preserving ciphers: SM4 cipher algorithms (OSCCA GB/T 32907-2016)
24062306a36Sopenharmony_ci	  with block cipher modes:
24162306a36Sopenharmony_ci	  - ECB (Electronic Codebook) mode (NIST SP800-38A)
24262306a36Sopenharmony_ci	  - CBC (Cipher Block Chaining) mode (NIST SP800-38A)
24362306a36Sopenharmony_ci	  - CFB (Cipher Feedback) mode (NIST SP800-38A)
24462306a36Sopenharmony_ci	  - CTR (Counter) mode (NIST SP800-38A)
24562306a36Sopenharmony_ci	  - XTS (XOR Encrypt XOR with ciphertext stealing) mode (NIST SP800-38E
24662306a36Sopenharmony_ci	    and IEEE 1619)
24762306a36Sopenharmony_ci
24862306a36Sopenharmony_ci	  Architecture: arm64 using:
24962306a36Sopenharmony_ci	  - ARMv8 Crypto Extensions
25062306a36Sopenharmony_ci	  - NEON (Advanced SIMD) extensions
25162306a36Sopenharmony_ci
25262306a36Sopenharmony_ciconfig CRYPTO_SM4_ARM64_NEON_BLK
25362306a36Sopenharmony_ci	tristate "Ciphers: SM4, modes: ECB/CBC/CFB/CTR (NEON)"
25462306a36Sopenharmony_ci	depends on KERNEL_MODE_NEON
25562306a36Sopenharmony_ci	select CRYPTO_SKCIPHER
25662306a36Sopenharmony_ci	select CRYPTO_SM4
25762306a36Sopenharmony_ci	help
25862306a36Sopenharmony_ci	  Length-preserving ciphers: SM4 cipher algorithms (OSCCA GB/T 32907-2016)
25962306a36Sopenharmony_ci	  with block cipher modes:
26062306a36Sopenharmony_ci	  - ECB (Electronic Codebook) mode (NIST SP800-38A)
26162306a36Sopenharmony_ci	  - CBC (Cipher Block Chaining) mode (NIST SP800-38A)
26262306a36Sopenharmony_ci	  - CFB (Cipher Feedback) mode (NIST SP800-38A)
26362306a36Sopenharmony_ci	  - CTR (Counter) mode (NIST SP800-38A)
26462306a36Sopenharmony_ci
26562306a36Sopenharmony_ci	  Architecture: arm64 using:
26662306a36Sopenharmony_ci	  - NEON (Advanced SIMD) extensions
26762306a36Sopenharmony_ci
26862306a36Sopenharmony_ciconfig CRYPTO_AES_ARM64_CE_CCM
26962306a36Sopenharmony_ci	tristate "AEAD cipher: AES in CCM mode (ARMv8 Crypto Extensions)"
27062306a36Sopenharmony_ci	depends on ARM64 && KERNEL_MODE_NEON
27162306a36Sopenharmony_ci	select CRYPTO_ALGAPI
27262306a36Sopenharmony_ci	select CRYPTO_AES_ARM64_CE
27362306a36Sopenharmony_ci	select CRYPTO_AEAD
27462306a36Sopenharmony_ci	select CRYPTO_LIB_AES
27562306a36Sopenharmony_ci	help
27662306a36Sopenharmony_ci	  AEAD cipher: AES cipher algorithms (FIPS-197) with
27762306a36Sopenharmony_ci	  CCM (Counter with Cipher Block Chaining-Message Authentication Code)
27862306a36Sopenharmony_ci	  authenticated encryption mode (NIST SP800-38C)
27962306a36Sopenharmony_ci
28062306a36Sopenharmony_ci	  Architecture: arm64 using:
28162306a36Sopenharmony_ci	  - ARMv8 Crypto Extensions
28262306a36Sopenharmony_ci	  - NEON (Advanced SIMD) extensions
28362306a36Sopenharmony_ci
28462306a36Sopenharmony_ciconfig CRYPTO_SM4_ARM64_CE_CCM
28562306a36Sopenharmony_ci	tristate "AEAD cipher: SM4 in CCM mode (ARMv8 Crypto Extensions)"
28662306a36Sopenharmony_ci	depends on KERNEL_MODE_NEON
28762306a36Sopenharmony_ci	select CRYPTO_ALGAPI
28862306a36Sopenharmony_ci	select CRYPTO_AEAD
28962306a36Sopenharmony_ci	select CRYPTO_SM4
29062306a36Sopenharmony_ci	select CRYPTO_SM4_ARM64_CE_BLK
29162306a36Sopenharmony_ci	help
29262306a36Sopenharmony_ci	  AEAD cipher: SM4 cipher algorithms (OSCCA GB/T 32907-2016) with
29362306a36Sopenharmony_ci	  CCM (Counter with Cipher Block Chaining-Message Authentication Code)
29462306a36Sopenharmony_ci	  authenticated encryption mode (NIST SP800-38C)
29562306a36Sopenharmony_ci
29662306a36Sopenharmony_ci	  Architecture: arm64 using:
29762306a36Sopenharmony_ci	  - ARMv8 Crypto Extensions
29862306a36Sopenharmony_ci	  - NEON (Advanced SIMD) extensions
29962306a36Sopenharmony_ci
30062306a36Sopenharmony_ciconfig CRYPTO_SM4_ARM64_CE_GCM
30162306a36Sopenharmony_ci	tristate "AEAD cipher: SM4 in GCM mode (ARMv8 Crypto Extensions)"
30262306a36Sopenharmony_ci	depends on KERNEL_MODE_NEON
30362306a36Sopenharmony_ci	select CRYPTO_ALGAPI
30462306a36Sopenharmony_ci	select CRYPTO_AEAD
30562306a36Sopenharmony_ci	select CRYPTO_SM4
30662306a36Sopenharmony_ci	select CRYPTO_SM4_ARM64_CE_BLK
30762306a36Sopenharmony_ci	help
30862306a36Sopenharmony_ci	  AEAD cipher: SM4 cipher algorithms (OSCCA GB/T 32907-2016) with
30962306a36Sopenharmony_ci	  GCM (Galois/Counter Mode) authenticated encryption mode (NIST SP800-38D)
31062306a36Sopenharmony_ci
31162306a36Sopenharmony_ci	  Architecture: arm64 using:
31262306a36Sopenharmony_ci	  - ARMv8 Crypto Extensions
31362306a36Sopenharmony_ci	  - PMULL (Polynomial Multiply Long) instructions
31462306a36Sopenharmony_ci	  - NEON (Advanced SIMD) extensions
31562306a36Sopenharmony_ci
31662306a36Sopenharmony_ciconfig CRYPTO_CRCT10DIF_ARM64_CE
31762306a36Sopenharmony_ci	tristate "CRCT10DIF (PMULL)"
31862306a36Sopenharmony_ci	depends on KERNEL_MODE_NEON && CRC_T10DIF
31962306a36Sopenharmony_ci	select CRYPTO_HASH
32062306a36Sopenharmony_ci	help
32162306a36Sopenharmony_ci	  CRC16 CRC algorithm used for the T10 (SCSI) Data Integrity Field (DIF)
32262306a36Sopenharmony_ci
32362306a36Sopenharmony_ci	  Architecture: arm64 using
32462306a36Sopenharmony_ci	  - PMULL (Polynomial Multiply Long) instructions
32562306a36Sopenharmony_ci
32662306a36Sopenharmony_ciendmenu
32762306a36Sopenharmony_ci
328