1 # SPDX-License-Identifier: GPL-2.0
6 obj-
$(CONFIG_CRYPTO
) += crypto.o
7 crypto-y
:= api.o cipher.o compress.o memneq.o
9 obj-
$(CONFIG_CRYPTO_WORKQUEUE
) += crypto_wq.o
11 obj-
$(CONFIG_CRYPTO_ENGINE
) += crypto_engine.o
12 obj-
$(CONFIG_CRYPTO_FIPS
) += fips.o
14 crypto_algapi-
$(CONFIG_PROC_FS
) += proc.o
15 crypto_algapi-y
:= algapi.o scatterwalk.o
$(crypto_algapi-y
)
16 obj-
$(CONFIG_CRYPTO_ALGAPI2
) += crypto_algapi.o
18 obj-
$(CONFIG_CRYPTO_AEAD2
) += aead.o
20 crypto_blkcipher-y
:= ablkcipher.o
21 crypto_blkcipher-y
+= blkcipher.o
22 crypto_blkcipher-y
+= skcipher.o
23 obj-
$(CONFIG_CRYPTO_BLKCIPHER2
) += crypto_blkcipher.o
24 obj-
$(CONFIG_CRYPTO_SEQIV
) += seqiv.o
25 obj-
$(CONFIG_CRYPTO_ECHAINIV
) += echainiv.o
27 crypto_hash-y
+= ahash.o
28 crypto_hash-y
+= shash.o
29 obj-
$(CONFIG_CRYPTO_HASH2
) += crypto_hash.o
31 obj-
$(CONFIG_CRYPTO_AKCIPHER2
) += akcipher.o
32 obj-
$(CONFIG_CRYPTO_KPP2
) += kpp.o
35 dh_generic-y
+= dh_helper.o
36 obj-
$(CONFIG_CRYPTO_DH
) += dh_generic.o
38 $(obj
)/rsapubkey.asn1.o
: $(obj
)/rsapubkey.asn1.c
$(obj
)/rsapubkey.asn1.h
39 $(obj
)/rsaprivkey.asn1.o
: $(obj
)/rsaprivkey.asn1.c
$(obj
)/rsaprivkey.asn1.h
40 $(obj
)/rsa_helper.o
: $(obj
)/rsapubkey.asn1.h
$(obj
)/rsaprivkey.asn1.h
42 rsa_generic-y
:= rsapubkey.asn1.o
43 rsa_generic-y
+= rsaprivkey.asn1.o
44 rsa_generic-y
+= rsa.o
45 rsa_generic-y
+= rsa_helper.o
46 rsa_generic-y
+= rsa-pkcs1pad.o
47 obj-
$(CONFIG_CRYPTO_RSA
) += rsa_generic.o
49 crypto_acompress-y
:= acompress.o
50 crypto_acompress-y
+= scompress.o
51 obj-
$(CONFIG_CRYPTO_ACOMP2
) += crypto_acompress.o
53 cryptomgr-y
:= algboss.o testmgr.o
55 obj-
$(CONFIG_CRYPTO_MANAGER2
) += cryptomgr.o
56 obj-
$(CONFIG_CRYPTO_USER
) += crypto_user.o
57 crypto_user-y
:= crypto_user_base.o
58 crypto_user-
$(CONFIG_CRYPTO_STATS
) += crypto_user_stat.o
59 obj-
$(CONFIG_CRYPTO_CMAC
) += cmac.o
60 obj-
$(CONFIG_CRYPTO_HMAC
) += hmac.o
61 obj-
$(CONFIG_CRYPTO_VMAC
) += vmac.o
62 obj-
$(CONFIG_CRYPTO_XCBC
) += xcbc.o
63 obj-
$(CONFIG_CRYPTO_NULL2
) += crypto_null.o
64 obj-
$(CONFIG_CRYPTO_MD4
) += md4.o
65 obj-
$(CONFIG_CRYPTO_MD5
) += md5.o
66 obj-
$(CONFIG_CRYPTO_RMD128
) += rmd128.o
67 obj-
$(CONFIG_CRYPTO_RMD160
) += rmd160.o
68 obj-
$(CONFIG_CRYPTO_RMD256
) += rmd256.o
69 obj-
$(CONFIG_CRYPTO_RMD320
) += rmd320.o
70 obj-
$(CONFIG_CRYPTO_SHA1
) += sha1_generic.o
71 obj-
$(CONFIG_CRYPTO_SHA256
) += sha256_generic.o
72 obj-
$(CONFIG_CRYPTO_SHA512
) += sha512_generic.o
73 obj-
$(CONFIG_CRYPTO_SHA3
) += sha3_generic.o
74 obj-
$(CONFIG_CRYPTO_SM3
) += sm3_generic.o
75 obj-
$(CONFIG_CRYPTO_STREEBOG
) += streebog_generic.o
76 obj-
$(CONFIG_CRYPTO_WP512
) += wp512.o
77 CFLAGS_wp512.o
:= $(call cc-option
,-fno-schedule-insns
) # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79149
78 obj-
$(CONFIG_CRYPTO_TGR192
) += tgr192.o
79 obj-
$(CONFIG_CRYPTO_GF128MUL
) += gf128mul.o
80 obj-
$(CONFIG_CRYPTO_ECB
) += ecb.o
81 obj-
$(CONFIG_CRYPTO_CBC
) += cbc.o
82 obj-
$(CONFIG_CRYPTO_CFB
) += cfb.o
83 obj-
$(CONFIG_CRYPTO_PCBC
) += pcbc.o
84 obj-
$(CONFIG_CRYPTO_CTS
) += cts.o
85 obj-
$(CONFIG_CRYPTO_LRW
) += lrw.o
86 obj-
$(CONFIG_CRYPTO_XTS
) += xts.o
87 obj-
$(CONFIG_CRYPTO_CTR
) += ctr.o
88 obj-
$(CONFIG_CRYPTO_KEYWRAP
) += keywrap.o
89 obj-
$(CONFIG_CRYPTO_ADIANTUM
) += adiantum.o
90 obj-
$(CONFIG_CRYPTO_NHPOLY1305
) += nhpoly1305.o
91 obj-
$(CONFIG_CRYPTO_GCM
) += gcm.o
92 obj-
$(CONFIG_CRYPTO_CCM
) += ccm.o
93 obj-
$(CONFIG_CRYPTO_CHACHA20POLY1305
) += chacha20poly1305.o
94 obj-
$(CONFIG_CRYPTO_AEGIS128
) += aegis128.o
95 obj-
$(CONFIG_CRYPTO_AEGIS128L
) += aegis128l.o
96 obj-
$(CONFIG_CRYPTO_AEGIS256
) += aegis256.o
97 obj-
$(CONFIG_CRYPTO_MORUS640
) += morus640.o
98 obj-
$(CONFIG_CRYPTO_MORUS1280
) += morus1280.o
99 obj-
$(CONFIG_CRYPTO_PCRYPT
) += pcrypt.o
100 obj-
$(CONFIG_CRYPTO_CRYPTD
) += cryptd.o
101 obj-
$(CONFIG_CRYPTO_DES
) += des_generic.o
102 obj-
$(CONFIG_CRYPTO_FCRYPT
) += fcrypt.o
103 obj-
$(CONFIG_CRYPTO_BLOWFISH
) += blowfish_generic.o
104 obj-
$(CONFIG_CRYPTO_BLOWFISH_COMMON
) += blowfish_common.o
105 obj-
$(CONFIG_CRYPTO_TWOFISH
) += twofish_generic.o
106 obj-
$(CONFIG_CRYPTO_TWOFISH_COMMON
) += twofish_common.o
107 obj-
$(CONFIG_CRYPTO_SERPENT
) += serpent_generic.o
108 CFLAGS_serpent_generic.o
:= $(call cc-option
,-fsched-pressure
) # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79149
109 obj-
$(CONFIG_CRYPTO_AES
) += aes_generic.o
110 CFLAGS_aes_generic.o
:= $(call cc-option
,-fno-code-hoisting
) # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83356
111 obj-
$(CONFIG_CRYPTO_SM4
) += sm4_generic.o
112 obj-
$(CONFIG_CRYPTO_AES_TI
) += aes_ti.o
113 obj-
$(CONFIG_CRYPTO_CAMELLIA
) += camellia_generic.o
114 obj-
$(CONFIG_CRYPTO_CAST_COMMON
) += cast_common.o
115 obj-
$(CONFIG_CRYPTO_CAST5
) += cast5_generic.o
116 obj-
$(CONFIG_CRYPTO_CAST6
) += cast6_generic.o
117 obj-
$(CONFIG_CRYPTO_ARC4
) += arc4.o
118 obj-
$(CONFIG_CRYPTO_TEA
) += tea.o
119 obj-
$(CONFIG_CRYPTO_KHAZAD
) += khazad.o
120 obj-
$(CONFIG_CRYPTO_ANUBIS
) += anubis.o
121 obj-
$(CONFIG_CRYPTO_SEED
) += seed.o
122 obj-
$(CONFIG_CRYPTO_SALSA20
) += salsa20_generic.o
123 obj-
$(CONFIG_CRYPTO_CHACHA20
) += chacha_generic.o
124 obj-
$(CONFIG_CRYPTO_POLY1305
) += poly1305_generic.o
125 obj-
$(CONFIG_CRYPTO_DEFLATE
) += deflate.o
126 obj-
$(CONFIG_CRYPTO_MICHAEL_MIC
) += michael_mic.o
127 obj-
$(CONFIG_CRYPTO_CRC32C
) += crc32c_generic.o
128 obj-
$(CONFIG_CRYPTO_CRC32
) += crc32_generic.o
129 obj-
$(CONFIG_CRYPTO_CRCT10DIF
) += crct10dif_common.o crct10dif_generic.o
130 obj-
$(CONFIG_CRYPTO_AUTHENC
) += authenc.o authencesn.o
131 obj-
$(CONFIG_CRYPTO_LZO
) += lzo.o
132 obj-
$(CONFIG_CRYPTO_LZ4
) += lz4.o
133 obj-
$(CONFIG_CRYPTO_LZ4HC
) += lz4hc.o
134 obj-
$(CONFIG_CRYPTO_842
) += 842.o
135 obj-
$(CONFIG_CRYPTO_RNG2
) += rng.o
136 obj-
$(CONFIG_CRYPTO_ANSI_CPRNG
) += ansi_cprng.o
137 obj-
$(CONFIG_CRYPTO_DRBG
) += drbg.o
138 obj-
$(CONFIG_CRYPTO_JITTERENTROPY
) += jitterentropy_rng.o
139 CFLAGS_jitterentropy.o
= -O0
140 jitterentropy_rng-y
:= jitterentropy.o jitterentropy-kcapi.o
141 obj-
$(CONFIG_CRYPTO_TEST
) += tcrypt.o
142 obj-
$(CONFIG_CRYPTO_GHASH
) += ghash-generic.o
143 obj-
$(CONFIG_CRYPTO_USER_API
) += af_alg.o
144 obj-
$(CONFIG_CRYPTO_USER_API_HASH
) += algif_hash.o
145 obj-
$(CONFIG_CRYPTO_USER_API_SKCIPHER
) += algif_skcipher.o
146 obj-
$(CONFIG_CRYPTO_USER_API_RNG
) += algif_rng.o
147 obj-
$(CONFIG_CRYPTO_USER_API_AEAD
) += algif_aead.o
148 obj-
$(CONFIG_CRYPTO_ZSTD
) += zstd.o
149 obj-
$(CONFIG_CRYPTO_OFB
) += ofb.o
151 ecdh_generic-y
:= ecc.o
152 ecdh_generic-y
+= ecdh.o
153 ecdh_generic-y
+= ecdh_helper.o
154 obj-
$(CONFIG_CRYPTO_ECDH
) += ecdh_generic.o
157 # generic algorithms and the async_tx api
159 obj-
$(CONFIG_XOR_BLOCKS
) += xor.o
160 obj-
$(CONFIG_ASYNC_CORE
) += async_tx
/
161 obj-
$(CONFIG_ASYMMETRIC_KEY_TYPE
) += asymmetric_keys
/
162 obj-
$(CONFIG_CRYPTO_HASH_INFO
) += hash_info.o
163 crypto_simd-y
:= simd.o
164 obj-
$(CONFIG_CRYPTO_SIMD
) += crypto_simd.o