kernel: 5.4: fix patches after wireguard backport
[openwrt/openwrt.git] / package / kernel / linux / modules / crypto.mk
1 #
2 # Copyright (C) 2006-2011 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 CRYPTO_MENU:=Cryptographic API modules
9
10 CRYPTO_MODULES = \
11 ALGAPI2=crypto_algapi \
12 BLKCIPHER2=crypto_blkcipher
13
14 crypto_confvar=CONFIG_CRYPTO_$(word 1,$(subst =,$(space),$(1)))
15 crypto_file=$(LINUX_DIR)/crypto/$(word 2,$(subst =,$(space),$(1))).ko
16 crypto_name=$(if $(findstring y,$($(call crypto_confvar,$(1)))),,$(word 2,$(subst =,$(space),$(1))))
17
18 define AddDepends/crypto
19 SUBMENU:=$(CRYPTO_MENU)
20 DEPENDS+= $(1)
21 endef
22
23
24 define KernelPackage/crypto-acompress
25 TITLE:=Asynchronous Compression operations
26 HIDDEN:=1
27 KCONFIG:=CONFIG_CRYPTO_ACOMP2
28 FILES:=$(LINUX_DIR)/crypto/crypto_acompress.ko
29 AUTOLOAD:=$(call AutoLoad,09,crypto_acompress)
30 $(call AddDepends/crypto)
31 endef
32
33 $(eval $(call KernelPackage,crypto-acompress))
34
35
36 define KernelPackage/crypto-aead
37 TITLE:=CryptoAPI AEAD support
38 KCONFIG:= \
39 CONFIG_CRYPTO_AEAD \
40 CONFIG_CRYPTO_AEAD2
41 FILES:= \
42 $(LINUX_DIR)/crypto/aead.ko \
43 $(LINUX_DIR)/crypto/geniv.ko@ge5.10
44 AUTOLOAD:=$(call AutoLoad,09,aead,1)
45 $(call AddDepends/crypto, +kmod-crypto-null)
46 endef
47
48 $(eval $(call KernelPackage,crypto-aead))
49
50
51 define KernelPackage/crypto-arc4
52 TITLE:=ARC4 cipher CryptoAPI module
53 KCONFIG:= \
54 CONFIG_CRYPTO_ARC4 \
55 CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y
56 FILES:= \
57 $(LINUX_DIR)/crypto/arc4.ko \
58 $(LINUX_DIR)/lib/crypto/libarc4.ko
59 AUTOLOAD:=$(call AutoLoad,09,arc4)
60 $(call AddDepends/crypto)
61 endef
62
63 $(eval $(call KernelPackage,crypto-arc4))
64
65
66 define KernelPackage/crypto-authenc
67 TITLE:=Combined mode wrapper for IPsec
68 DEPENDS:=+kmod-crypto-manager +kmod-crypto-null
69 KCONFIG:=CONFIG_CRYPTO_AUTHENC
70 FILES:=$(LINUX_DIR)/crypto/authenc.ko
71 AUTOLOAD:=$(call AutoLoad,09,authenc)
72 $(call AddDepends/crypto)
73 endef
74
75 $(eval $(call KernelPackage,crypto-authenc))
76
77
78 define KernelPackage/crypto-cbc
79 TITLE:=Cipher Block Chaining CryptoAPI module
80 DEPENDS:=+kmod-crypto-manager
81 KCONFIG:=CONFIG_CRYPTO_CBC
82 FILES:=$(LINUX_DIR)/crypto/cbc.ko
83 AUTOLOAD:=$(call AutoLoad,09,cbc)
84 $(call AddDepends/crypto)
85 endef
86
87 $(eval $(call KernelPackage,crypto-cbc))
88
89
90 define KernelPackage/crypto-ccm
91 TITLE:=Support for Counter with CBC MAC (CCM)
92 DEPENDS:=+kmod-crypto-ctr +kmod-crypto-aead
93 KCONFIG:=CONFIG_CRYPTO_CCM
94 FILES:=$(LINUX_DIR)/crypto/ccm.ko
95 AUTOLOAD:=$(call AutoLoad,09,ccm)
96 $(call AddDepends/crypto)
97 endef
98
99 $(eval $(call KernelPackage,crypto-ccm))
100
101
102 define KernelPackage/crypto-cmac
103 TITLE:=Support for Cipher-based Message Authentication Code (CMAC)
104 DEPENDS:=+kmod-crypto-hash
105 KCONFIG:=CONFIG_CRYPTO_CMAC
106 FILES:=$(LINUX_DIR)/crypto/cmac.ko
107 AUTOLOAD:=$(call AutoLoad,09,cmac)
108 $(call AddDepends/crypto)
109 endef
110
111 $(eval $(call KernelPackage,crypto-cmac))
112
113
114 define KernelPackage/crypto-crc32
115 TITLE:=CRC32 CRC module
116 DEPENDS:=+kmod-crypto-hash
117 KCONFIG:=CONFIG_CRYPTO_CRC32
118 HIDDEN:=1
119 FILES:=$(LINUX_DIR)/crypto/crc32_generic.ko
120 AUTOLOAD:=$(call AutoLoad,04,crc32_generic,1)
121 $(call AddDepends/crypto)
122 endef
123
124 $(eval $(call KernelPackage,crypto-crc32))
125
126
127 define KernelPackage/crypto-crc32c
128 TITLE:=CRC32c CRC module
129 DEPENDS:=+kmod-crypto-hash
130 KCONFIG:=CONFIG_CRYPTO_CRC32C
131 FILES:=$(LINUX_DIR)/crypto/crc32c_generic.ko
132 AUTOLOAD:=$(call AutoLoad,04,crc32c_generic,1)
133 $(call AddDepends/crypto)
134 endef
135
136 $(eval $(call KernelPackage,crypto-crc32c))
137
138
139 define KernelPackage/crypto-ctr
140 TITLE:=Counter Mode CryptoAPI module
141 DEPENDS:=+kmod-crypto-manager +kmod-crypto-seqiv
142 KCONFIG:=CONFIG_CRYPTO_CTR
143 FILES:=$(LINUX_DIR)/crypto/ctr.ko
144 AUTOLOAD:=$(call AutoLoad,09,ctr)
145 $(call AddDepends/crypto)
146 endef
147
148 $(eval $(call KernelPackage,crypto-ctr))
149
150
151 define KernelPackage/crypto-cts
152 TITLE:=Cipher Text Stealing CryptoAPI module
153 DEPENDS:=+kmod-crypto-manager
154 KCONFIG:=CONFIG_CRYPTO_CTS
155 FILES:=$(LINUX_DIR)/crypto/cts.ko
156 AUTOLOAD:=$(call AutoLoad,09,cts)
157 $(call AddDepends/crypto)
158 endef
159
160 $(eval $(call KernelPackage,crypto-cts))
161
162
163 define KernelPackage/crypto-deflate
164 TITLE:=Deflate compression CryptoAPI module
165 DEPENDS:=+kmod-lib-zlib-inflate +kmod-lib-zlib-deflate +kmod-crypto-acompress
166 KCONFIG:=CONFIG_CRYPTO_DEFLATE
167 FILES:=$(LINUX_DIR)/crypto/deflate.ko
168 AUTOLOAD:=$(call AutoLoad,09,deflate)
169 $(call AddDepends/crypto)
170 endef
171
172 $(eval $(call KernelPackage,crypto-deflate))
173
174
175 define KernelPackage/crypto-des
176 TITLE:=DES/3DES cipher CryptoAPI module
177 KCONFIG:=CONFIG_CRYPTO_DES
178 FILES:= \
179 $(LINUX_DIR)/crypto/des_generic.ko \
180 $(LINUX_DIR)/lib/crypto/libdes.ko
181 AUTOLOAD:=$(call AutoLoad,09,des_generic)
182 $(call AddDepends/crypto)
183 endef
184
185 $(eval $(call KernelPackage,crypto-des))
186
187
188 define KernelPackage/crypto-ecb
189 TITLE:=Electronic CodeBook CryptoAPI module
190 DEPENDS:=+kmod-crypto-manager
191 KCONFIG:=CONFIG_CRYPTO_ECB
192 FILES:=$(LINUX_DIR)/crypto/ecb.ko
193 AUTOLOAD:=$(call AutoLoad,09,ecb)
194 $(call AddDepends/crypto)
195 endef
196
197 $(eval $(call KernelPackage,crypto-ecb))
198
199
200 define KernelPackage/crypto-ecdh
201 TITLE:=ECDH algorithm
202 DEPENDS:=+kmod-crypto-kpp
203 KCONFIG:= CONFIG_CRYPTO_ECDH
204 FILES:= \
205 $(LINUX_DIR)/crypto/ecdh_generic.ko \
206 $(LINUX_DIR)/crypto/ecc.ko
207 AUTOLOAD:=$(call AutoLoad,10,ecdh_generic)
208 $(call AddDepends/crypto)
209 endef
210
211 $(eval $(call KernelPackage,crypto-ecdh))
212
213
214 define KernelPackage/crypto-echainiv
215 TITLE:=Encrypted Chain IV Generator
216 DEPENDS:=+kmod-crypto-aead
217 KCONFIG:=CONFIG_CRYPTO_ECHAINIV
218 FILES:=$(LINUX_DIR)/crypto/echainiv.ko
219 AUTOLOAD:=$(call AutoLoad,09,echainiv)
220 $(call AddDepends/crypto)
221 endef
222
223 $(eval $(call KernelPackage,crypto-echainiv))
224
225
226 define KernelPackage/crypto-fcrypt
227 TITLE:=FCRYPT cipher CryptoAPI module
228 KCONFIG:=CONFIG_CRYPTO_FCRYPT
229 FILES:=$(LINUX_DIR)/crypto/fcrypt.ko
230 AUTOLOAD:=$(call AutoLoad,09,fcrypt)
231 $(call AddDepends/crypto)
232 endef
233
234 $(eval $(call KernelPackage,crypto-fcrypt))
235
236
237 define KernelPackage/crypto-gcm
238 TITLE:=GCM/GMAC CryptoAPI module
239 DEPENDS:=+kmod-crypto-ctr +kmod-crypto-ghash +kmod-crypto-null
240 KCONFIG:=CONFIG_CRYPTO_GCM
241 FILES:=$(LINUX_DIR)/crypto/gcm.ko
242 AUTOLOAD:=$(call AutoLoad,09,gcm)
243 $(call AddDepends/crypto)
244 endef
245
246 $(eval $(call KernelPackage,crypto-gcm))
247
248
249 define KernelPackage/crypto-xcbc
250 TITLE:=XCBC CryptoAPI module
251 DEPENDS:=+kmod-crypto-hash +kmod-crypto-manager
252 KCONFIG:=CONFIG_CRYPTO_XCBC
253 FILES:=$(LINUX_DIR)/crypto/xcbc.ko
254 AUTOLOAD:=$(call AutoLoad,09,xcbc)
255 $(call AddDepends/crypto)
256 endef
257
258 $(eval $(call KernelPackage,crypto-xcbc))
259
260
261 define KernelPackage/crypto-gf128
262 TITLE:=GF(2^128) multiplication functions CryptoAPI module
263 KCONFIG:=CONFIG_CRYPTO_GF128MUL
264 FILES:=$(LINUX_DIR)/crypto/gf128mul.ko
265 AUTOLOAD:=$(call AutoLoad,09,gf128mul)
266 $(call AddDepends/crypto)
267 endef
268
269 $(eval $(call KernelPackage,crypto-gf128))
270
271
272 define KernelPackage/crypto-ghash
273 TITLE:=GHASH digest CryptoAPI module
274 DEPENDS:=+kmod-crypto-gf128 +kmod-crypto-hash
275 KCONFIG:= \
276 CONFIG_CRYPTO_GHASH \
277 CONFIG_CRYPTO_GHASH_ARM_CE
278 FILES:=$(LINUX_DIR)/crypto/ghash-generic.ko
279 AUTOLOAD:=$(call AutoLoad,09,ghash-generic)
280 $(call AddDepends/crypto)
281 endef
282
283 define KernelPackage/crypto-ghash/arm-ce
284 FILES+= $(LINUX_DIR)/arch/arm/crypto/ghash-arm-ce.ko
285 AUTOLOAD+=$(call AutoLoad,09,ghash-arm-ce)
286 endef
287
288 KernelPackage/crypto-ghash/imx6=$(KernelPackage/crypto-ghash/arm-ce)
289 KernelPackage/crypto-ghash/ipq40xx=$(KernelPackage/crypto-ghash/arm-ce)
290 KernelPackage/crypto-ghash/mvebu/cortexa9=$(KernelPackage/crypto-ghash/arm-ce)
291
292 $(eval $(call KernelPackage,crypto-ghash))
293
294
295 define KernelPackage/crypto-hash
296 TITLE:=CryptoAPI hash support
297 KCONFIG:=CONFIG_CRYPTO_HASH
298 FILES:=$(LINUX_DIR)/crypto/crypto_hash.ko
299 AUTOLOAD:=$(call AutoLoad,02,crypto_hash,1)
300 $(call AddDepends/crypto)
301 endef
302
303 $(eval $(call KernelPackage,crypto-hash))
304
305
306 define KernelPackage/crypto-hmac
307 TITLE:=HMAC digest CryptoAPI module
308 DEPENDS:=+kmod-crypto-hash +kmod-crypto-manager
309 KCONFIG:=CONFIG_CRYPTO_HMAC
310 FILES:=$(LINUX_DIR)/crypto/hmac.ko
311 AUTOLOAD:=$(call AutoLoad,09,hmac)
312 $(call AddDepends/crypto)
313 endef
314
315 $(eval $(call KernelPackage,crypto-hmac))
316
317
318 define KernelPackage/crypto-hw-ccp
319 TITLE:=AMD Cryptographic Coprocessor
320 DEPENDS:=+kmod-crypto-authenc +kmod-crypto-hash +kmod-crypto-manager +kmod-random-core +kmod-crypto-sha1 +kmod-crypto-sha256 +kmod-crypto-rsa
321 KCONFIG:= \
322 CONFIG_CRYPTO_HW=y \
323 CONFIG_CRYPTO_DEV_CCP=y \
324 CONFIG_CRYPTO_DEV_CCP_CRYPTO \
325 CONFIG_CRYPTO_DEV_CCP_DD \
326 CONFIG_CRYPTO_DEV_SP_CCP=y
327 FILES:= \
328 $(LINUX_DIR)/drivers/crypto/ccp/ccp.ko \
329 $(LINUX_DIR)/drivers/crypto/ccp/ccp-crypto.ko
330 AUTOLOAD:=$(call AutoLoad,09,ccp ccp-crypto)
331 $(call AddDepends/crypto)
332 endef
333
334 $(eval $(call KernelPackage,crypto-hw-ccp))
335
336
337 define KernelPackage/crypto-hw-geode
338 TITLE:=AMD Geode hardware crypto module
339 DEPENDS:=+kmod-crypto-manager
340 KCONFIG:= \
341 CONFIG_CRYPTO_HW=y \
342 CONFIG_CRYPTO_DEV_GEODE
343 FILES:=$(LINUX_DIR)/drivers/crypto/geode-aes.ko
344 AUTOLOAD:=$(call AutoLoad,09,geode-aes)
345 $(call AddDepends/crypto)
346 endef
347
348 $(eval $(call KernelPackage,crypto-hw-geode))
349
350
351 define KernelPackage/crypto-hw-hifn-795x
352 TITLE:=HIFN 795x crypto accelerator
353 DEPENDS:=+kmod-random-core +kmod-crypto-manager
354 KCONFIG:= \
355 CONFIG_CRYPTO_HW=y \
356 CONFIG_CRYPTO_DEV_HIFN_795X \
357 CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
358 FILES:=$(LINUX_DIR)/drivers/crypto/hifn_795x.ko
359 AUTOLOAD:=$(call AutoLoad,09,hifn_795x)
360 $(call AddDepends/crypto,+kmod-crypto-des)
361 endef
362
363 $(eval $(call KernelPackage,crypto-hw-hifn-795x))
364
365
366 define KernelPackage/crypto-hw-padlock
367 TITLE:=VIA PadLock ACE with AES/SHA hw crypto module
368 DEPENDS:=+kmod-crypto-manager
369 KCONFIG:= \
370 CONFIG_CRYPTO_HW=y \
371 CONFIG_CRYPTO_DEV_PADLOCK \
372 CONFIG_CRYPTO_DEV_PADLOCK_AES \
373 CONFIG_CRYPTO_DEV_PADLOCK_SHA
374 FILES:= \
375 $(LINUX_DIR)/drivers/crypto/padlock-aes.ko \
376 $(LINUX_DIR)/drivers/crypto/padlock-sha.ko
377 AUTOLOAD:=$(call AutoLoad,09,padlock-aes padlock-sha)
378 $(call AddDepends/crypto)
379 endef
380
381 $(eval $(call KernelPackage,crypto-hw-padlock))
382
383
384 define KernelPackage/crypto-hw-safexcel
385 TITLE:= MVEBU SafeXcel Crypto Engine module
386 DEPENDS:=@(TARGET_mvebu_cortexa53||TARGET_mvebu_cortexa72) +eip197-mini-firmware \
387 +kmod-crypto-authenc +kmod-crypto-md5 +kmod-crypto-hmac +kmod-crypto-sha256 +kmod-crypto-sha512
388 KCONFIG:= \
389 CONFIG_CRYPTO_HW=y \
390 CONFIG_CRYPTO_DEV_SAFEXCEL
391 FILES:=$(LINUX_DIR)/drivers/crypto/inside-secure/crypto_safexcel.ko
392 AUTOLOAD:=$(call AutoLoad,90,crypto_safexcel)
393 $(call AddDepends/crypto)
394 endef
395
396 define KernelPackage/crypto-hw-safexcel/description
397 MVEBU's EIP97 and EIP197 Cryptographic Engine driver designed by
398 Inside Secure. This is found on Marvell Armada 37xx/7k/8k SoCs.
399
400 Particular version of these IP (EIP197B and EIP197D) require firmware.
401 The mini firmware package provides limited functionality, for most operations
402 a full-featured firmware is required. Unfortunately the "full" firmware is not
403 freely available and needs signed Non-Disclosure Agreement (NDA) with Marvell.
404 For those who have signed NDA the firmware can be obtained at
405 https://extranet.marvell.com.
406 endef
407
408 $(eval $(call KernelPackage,crypto-hw-safexcel))
409
410
411 define KernelPackage/crypto-hw-talitos
412 TITLE:=Freescale integrated security engine (SEC) driver
413 DEPENDS:=+kmod-crypto-manager +kmod-crypto-hash +kmod-random-core +kmod-crypto-authenc +kmod-crypto-des
414 KCONFIG:= \
415 CONFIG_CRYPTO_HW=y \
416 CONFIG_CRYPTO_DEV_TALITOS \
417 CONFIG_CRYPTO_DEV_TALITOS1=y \
418 CONFIG_CRYPTO_DEV_TALITOS2=y
419 FILES:= \
420 $(LINUX_DIR)/drivers/crypto/talitos.ko
421 AUTOLOAD:=$(call AutoLoad,09,talitos)
422 $(call AddDepends/crypto)
423 endef
424
425 $(eval $(call KernelPackage,crypto-hw-talitos))
426
427
428 define KernelPackage/crypto-kpp
429 TITLE:=Key-agreement Protocol Primitives
430 KCONFIG:=CONFIG_CRYPTO_KPP
431 HIDDEN:=1
432 FILES:=$(LINUX_DIR)/crypto/kpp.ko
433 AUTOLOAD:=$(call AutoLoad,09,kpp)
434 $(call AddDepends/crypto)
435 endef
436
437 $(eval $(call KernelPackage,crypto-kpp))
438
439
440 define KernelPackage/crypto-manager
441 TITLE:=CryptoAPI algorithm manager
442 DEPENDS:=+kmod-crypto-aead +kmod-crypto-hash +kmod-crypto-pcompress
443 KCONFIG:= \
444 CONFIG_CRYPTO_MANAGER \
445 CONFIG_CRYPTO_MANAGER2
446 FILES:=$(LINUX_DIR)/crypto/cryptomgr.ko
447 AUTOLOAD:=$(call AutoLoad,09,cryptomgr,1)
448 $(call AddDepends/crypto)
449 endef
450
451 $(eval $(call KernelPackage,crypto-manager))
452
453
454 define KernelPackage/crypto-md4
455 TITLE:=MD4 digest CryptoAPI module
456 DEPENDS:=+kmod-crypto-hash
457 KCONFIG:=CONFIG_CRYPTO_MD4
458 FILES:=$(LINUX_DIR)/crypto/md4.ko
459 AUTOLOAD:=$(call AutoLoad,09,md4)
460 $(call AddDepends/crypto)
461 endef
462
463 $(eval $(call KernelPackage,crypto-md4))
464
465
466 define KernelPackage/crypto-md5
467 TITLE:=MD5 digest CryptoAPI module
468 DEPENDS:=+kmod-crypto-hash
469 KCONFIG:= \
470 CONFIG_CRYPTO_MD5 \
471 CONFIG_CRYPTO_MD5_OCTEON
472 FILES:=$(LINUX_DIR)/crypto/md5.ko
473 AUTOLOAD:=$(call AutoLoad,09,md5)
474 $(call AddDepends/crypto)
475 endef
476
477 define KernelPackage/crypto-md5/octeon
478 FILES+=$(LINUX_DIR)/arch/mips/cavium-octeon/crypto/octeon-md5.ko
479 AUTOLOAD+=$(call AutoLoad,09,octeon-md5)
480 endef
481
482 $(eval $(call KernelPackage,crypto-md5))
483
484
485 define KernelPackage/crypto-michael-mic
486 TITLE:=Michael MIC keyed digest CryptoAPI module
487 DEPENDS:=+kmod-crypto-hash
488 KCONFIG:=CONFIG_CRYPTO_MICHAEL_MIC
489 FILES:=$(LINUX_DIR)/crypto/michael_mic.ko
490 AUTOLOAD:=$(call AutoLoad,09,michael_mic)
491 $(call AddDepends/crypto)
492 endef
493
494 $(eval $(call KernelPackage,crypto-michael-mic))
495
496
497 define KernelPackage/crypto-misc
498 TITLE:=Other CryptoAPI modules
499 DEPENDS:=+kmod-crypto-xts
500 KCONFIG:= \
501 CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y \
502 CONFIG_CRYPTO_CAMELLIA_X86_64 \
503 CONFIG_CRYPTO_BLOWFISH_X86_64 \
504 CONFIG_CRYPTO_TWOFISH_X86_64 \
505 CONFIG_CRYPTO_TWOFISH_X86_64_3WAY \
506 CONFIG_CRYPTO_SERPENT_SSE2_X86_64 \
507 CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64 \
508 CONFIG_CRYPTO_CAST5_AVX_X86_64 \
509 CONFIG_CRYPTO_CAST6_AVX_X86_64 \
510 CONFIG_CRYPTO_TWOFISH_AVX_X86_64 \
511 CONFIG_CRYPTO_SERPENT_AVX_X86_64 \
512 CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64 \
513 CONFIG_CRYPTO_SERPENT_AVX2_X86_64 \
514 CONFIG_CRYPTO_SERPENT_SSE2_586 \
515 CONFIG_CRYPTO_ANUBIS \
516 CONFIG_CRYPTO_BLOWFISH \
517 CONFIG_CRYPTO_CAMELLIA \
518 CONFIG_CRYPTO_CAST5 \
519 CONFIG_CRYPTO_CAST6 \
520 CONFIG_CRYPTO_FCRYPT \
521 CONFIG_CRYPTO_KHAZAD \
522 CONFIG_CRYPTO_SERPENT \
523 CONFIG_CRYPTO_TEA \
524 CONFIG_CRYPTO_TGR192 \
525 CONFIG_CRYPTO_TWOFISH \
526 CONFIG_CRYPTO_TWOFISH_COMMON \
527 CONFIG_CRYPTO_TWOFISH_586 \
528 CONFIG_CRYPTO_WP512
529 FILES:= \
530 $(LINUX_DIR)/crypto/anubis.ko \
531 $(LINUX_DIR)/crypto/camellia_generic.ko \
532 $(LINUX_DIR)/crypto/cast_common.ko \
533 $(LINUX_DIR)/crypto/cast5_generic.ko \
534 $(LINUX_DIR)/crypto/cast6_generic.ko \
535 $(LINUX_DIR)/crypto/khazad.ko \
536 $(LINUX_DIR)/crypto/tea.ko \
537 $(LINUX_DIR)/crypto/tgr192.ko \
538 $(LINUX_DIR)/crypto/twofish_common.ko \
539 $(LINUX_DIR)/crypto/wp512.ko \
540 $(LINUX_DIR)/crypto/twofish_generic.ko \
541 $(LINUX_DIR)/crypto/blowfish_common.ko \
542 $(LINUX_DIR)/crypto/blowfish_generic.ko \
543 $(LINUX_DIR)/crypto/serpent_generic.ko
544 AUTOLOAD:=$(call AutoLoad,10,anubis camellia_generic cast_common \
545 cast5_generic cast6_generic khazad tea tgr192 twofish_common \
546 wp512 blowfish_common serpent_generic)
547 ifndef CONFIG_TARGET_x86
548 AUTOLOAD+= $(call AutoLoad,10,twofish_generic blowfish_generic)
549 endif
550 $(call AddDepends/crypto)
551 endef
552
553 ifndef CONFIG_TARGET_x86_64
554 define KernelPackage/crypto-misc/x86
555 FILES+= \
556 $(LINUX_DIR)/arch/x86/crypto/twofish-i586.ko \
557 $(LINUX_DIR)/arch/x86/crypto/serpent-sse2-i586.ko \
558 $(LINUX_DIR)/arch/x86/crypto/glue_helper.ko \
559 $(LINUX_DIR)/crypto/cryptd.ko \
560 $(LINUX_DIR)/crypto/crypto_simd.ko
561 AUTOLOAD+= $(call AutoLoad,10,cryptd glue_helper \
562 serpent-sse2-i586 twofish-i586 blowfish_generic)
563 endef
564 endif
565
566 define KernelPackage/crypto-misc/x86/64
567 FILES+= \
568 $(LINUX_DIR)/arch/x86/crypto/camellia-x86_64.ko \
569 $(LINUX_DIR)/arch/x86/crypto/blowfish-x86_64.ko \
570 $(LINUX_DIR)/arch/x86/crypto/twofish-x86_64.ko \
571 $(LINUX_DIR)/arch/x86/crypto/twofish-x86_64-3way.ko \
572 $(LINUX_DIR)/arch/x86/crypto/serpent-sse2-x86_64.ko \
573 $(LINUX_DIR)/arch/x86/crypto/camellia-aesni-avx-x86_64.ko \
574 $(LINUX_DIR)/arch/x86/crypto/cast5-avx-x86_64.ko \
575 $(LINUX_DIR)/arch/x86/crypto/cast6-avx-x86_64.ko \
576 $(LINUX_DIR)/arch/x86/crypto/twofish-avx-x86_64.ko \
577 $(LINUX_DIR)/arch/x86/crypto/serpent-avx-x86_64.ko \
578 $(LINUX_DIR)/arch/x86/crypto/camellia-aesni-avx2.ko \
579 $(LINUX_DIR)/arch/x86/crypto/serpent-avx2.ko
580 AUTOLOAD+= $(call AutoLoad,10,camellia-x86_64 \
581 camellia-aesni-avx-x86_64 camellia-aesni-avx2 cast5-avx-x86_64 \
582 cast6-avx-x86_64 twofish-x86_64 twofish-x86_64-3way \
583 twofish-avx-x86_64 blowfish-x86_64 serpent-avx-x86_64 serpent-avx2)
584 endef
585
586 $(eval $(call KernelPackage,crypto-misc))
587
588
589 define KernelPackage/crypto-null
590 TITLE:=Null CryptoAPI module
591 KCONFIG:=CONFIG_CRYPTO_NULL
592 FILES:=$(LINUX_DIR)/crypto/crypto_null.ko
593 AUTOLOAD:=$(call AutoLoad,09,crypto_null)
594 $(call AddDepends/crypto, +kmod-crypto-hash)
595 endef
596
597 $(eval $(call KernelPackage,crypto-null))
598
599
600 define KernelPackage/crypto-pcbc
601 TITLE:=Propagating Cipher Block Chaining CryptoAPI module
602 DEPENDS:=+kmod-crypto-manager
603 KCONFIG:=CONFIG_CRYPTO_PCBC
604 FILES:=$(LINUX_DIR)/crypto/pcbc.ko
605 AUTOLOAD:=$(call AutoLoad,09,pcbc)
606 $(call AddDepends/crypto)
607 endef
608
609 $(eval $(call KernelPackage,crypto-pcbc))
610
611
612 define KernelPackage/crypto-pcompress
613 TITLE:=CryptoAPI Partial (de)compression operations
614 KCONFIG:= \
615 CONFIG_CRYPTO_PCOMP=y \
616 CONFIG_CRYPTO_PCOMP2
617 FILES:=$(LINUX_DIR)/crypto/pcompress.ko
618 AUTOLOAD:=$(call AutoLoad,09,pcompress)
619 $(call AddDepends/crypto)
620 endef
621
622 $(eval $(call KernelPackage,crypto-pcompress))
623
624
625 define KernelPackage/crypto-rsa
626 TITLE:=RSA algorithm
627 DEPENDS:=+kmod-crypto-manager +kmod-asn1-decoder
628 KCONFIG:= CONFIG_CRYPTO_RSA
629 HIDDEN:=1
630 FILES:= \
631 $(LINUX_DIR)/lib/mpi/mpi.ko \
632 $(LINUX_DIR)/crypto/akcipher.ko \
633 $(LINUX_DIR)/crypto/rsa_generic.ko
634 AUTOLOAD:=$(call AutoLoad,10,rsa_generic)
635 $(call AddDepends/crypto)
636 endef
637
638 $(eval $(call KernelPackage,crypto-rsa))
639
640
641 define KernelPackage/crypto-rmd160
642 TITLE:=RIPEMD160 digest CryptoAPI module
643 DEPENDS:=+kmod-crypto-hash
644 KCONFIG:=CONFIG_CRYPTO_RMD160
645 FILES:=$(LINUX_DIR)/crypto/rmd160.ko
646 AUTOLOAD:=$(call AutoLoad,09,rmd160)
647 $(call AddDepends/crypto)
648 endef
649
650 $(eval $(call KernelPackage,crypto-rmd160))
651
652
653 define KernelPackage/crypto-rng
654 TITLE:=CryptoAPI random number generation
655 DEPENDS:=+kmod-crypto-hash +kmod-crypto-hmac +kmod-crypto-sha256
656 KCONFIG:= \
657 CONFIG_CRYPTO_DRBG \
658 CONFIG_CRYPTO_DRBG_HMAC=y \
659 CONFIG_CRYPTO_DRBG_HASH=n \
660 CONFIG_CRYPTO_DRBG_MENU \
661 CONFIG_CRYPTO_JITTERENTROPY \
662 CONFIG_CRYPTO_RNG2
663 FILES:= \
664 $(LINUX_DIR)/crypto/drbg.ko \
665 $(LINUX_DIR)/crypto/jitterentropy_rng.ko \
666 $(LINUX_DIR)/crypto/rng.ko
667 AUTOLOAD:=$(call AutoLoad,09,drbg jitterentropy_rng rng)
668 $(call AddDepends/crypto)
669 endef
670
671 $(eval $(call KernelPackage,crypto-rng))
672
673
674 define KernelPackage/crypto-seqiv
675 TITLE:=CryptoAPI Sequence Number IV Generator
676 DEPENDS:=+kmod-crypto-aead +kmod-crypto-rng
677 KCONFIG:=CONFIG_CRYPTO_SEQIV
678 FILES:=$(LINUX_DIR)/crypto/seqiv.ko
679 AUTOLOAD:=$(call AutoLoad,09,seqiv)
680 $(call AddDepends/crypto)
681 endef
682
683 $(eval $(call KernelPackage,crypto-seqiv))
684
685
686 define KernelPackage/crypto-sha1
687 TITLE:=SHA1 digest CryptoAPI module
688 DEPENDS:=+kmod-crypto-hash
689 KCONFIG:= \
690 CONFIG_CRYPTO_SHA1 \
691 CONFIG_CRYPTO_SHA1_ARM \
692 CONFIG_CRYPTO_SHA1_ARM_NEON \
693 CONFIG_CRYPTO_SHA1_OCTEON \
694 CONFIG_CRYPTO_SHA1_SSSE3
695 FILES:=$(LINUX_DIR)/crypto/sha1_generic.ko
696 AUTOLOAD:=$(call AutoLoad,09,sha1_generic)
697 $(call AddDepends/crypto)
698 endef
699
700 define KernelPackage/crypto-sha1/arm
701 FILES+=$(LINUX_DIR)/arch/arm/crypto/sha1-arm.ko
702 AUTOLOAD+=$(call AutoLoad,09,sha1-arm)
703 endef
704
705 define KernelPackage/crypto-sha1/arm-neon
706 $(call KernelPackage/crypto-sha1/arm)
707 FILES+=$(LINUX_DIR)/arch/arm/crypto/sha1-arm-neon.ko
708 AUTOLOAD+=$(call AutoLoad,09,sha1-arm-neon)
709 endef
710
711 KernelPackage/crypto-sha1/imx6=$(KernelPackage/crypto-sha1/arm-neon)
712 KernelPackage/crypto-sha1/ipq40xx=$(KernelPackage/crypto-sha1/arm-neon)
713 KernelPackage/crypto-sha1/mvebu/cortexa9=$(KernelPackage/crypto-sha1/arm-neon)
714
715 define KernelPackage/crypto-sha1/octeon
716 FILES+=$(LINUX_DIR)/arch/mips/cavium-octeon/crypto/octeon-sha1.ko
717 AUTOLOAD+=$(call AutoLoad,09,octeon-sha1)
718 endef
719
720 KernelPackage/crypto-sha1/tegra=$(KernelPakcage/crypto-sha1/arm)
721
722 define KernelPackage/crypto-sha1/x86/64
723 FILES+=$(LINUX_DIR)/arch/x86/crypto/sha1-ssse3.ko
724 AUTOLOAD+=$(call AutoLoad,09,sha1-ssse3)
725 endef
726
727 $(eval $(call KernelPackage,crypto-sha1))
728
729
730 define KernelPackage/crypto-sha256
731 TITLE:=SHA224 SHA256 digest CryptoAPI module
732 DEPENDS:=+kmod-crypto-hash
733 KCONFIG:= \
734 CONFIG_CRYPTO_SHA256 \
735 CONFIG_CRYPTO_SHA256_OCTEON \
736 CONFIG_CRYPTO_SHA256_SSSE3
737 FILES:= \
738 $(LINUX_DIR)/crypto/sha256_generic.ko \
739 $(LINUX_DIR)/lib/crypto/libsha256.ko
740 AUTOLOAD:=$(call AutoLoad,09,sha256_generic)
741 $(call AddDepends/crypto)
742 endef
743
744 define KernelPackage/crypto-sha256/octeon
745 FILES+=$(LINUX_DIR)/arch/mips/cavium-octeon/crypto/octeon-sha256.ko
746 AUTOLOAD+=$(call AutoLoad,09,octeon-sha256)
747 endef
748
749 define KernelPackage/crypto-sha256/x86/64
750 FILES+=$(LINUX_DIR)/arch/x86/crypto/sha256-ssse3.ko
751 AUTOLOAD+=$(call AutoLoad,09,sha256-ssse3)
752 endef
753
754 $(eval $(call KernelPackage,crypto-sha256))
755
756
757 define KernelPackage/crypto-sha512
758 TITLE:=SHA512 digest CryptoAPI module
759 DEPENDS:=+kmod-crypto-hash
760 KCONFIG:= \
761 CONFIG_CRYPTO_SHA512 \
762 CONFIG_CRYPTO_SHA512_ARM \
763 CONFIG_CRYPTO_SHA512_OCTEON \
764 CONFIG_CRYPTO_SHA512_SSSE3
765 FILES:=$(LINUX_DIR)/crypto/sha512_generic.ko
766 AUTOLOAD:=$(call AutoLoad,09,sha512_generic)
767 $(call AddDepends/crypto)
768 endef
769
770 define KernelPackage/crypto-sha512/arm
771 FILES+=$(LINUX_DIR)/arch/arm/crypto/sha512-arm.ko
772 AUTOLOAD+=$(call AutoLoad,09,sha512-arm)
773 endef
774
775 KernelPackage/crypto-sha512/imx6=$(KernelPackage/crypto-sha512/arm)
776 KernelPackage/crypto-sha512/ipq40xx=$(KernelPackage/crypto-sha512/arm)
777 KernelPackage/crypto-sha512/mvebu/cortexa9=$(KernelPackage/crypto-sha512/arm)
778
779 define KernelPackage/crypto-sha512/octeon
780 FILES+=$(LINUX_DIR)/arch/mips/cavium-octeon/crypto/octeon-sha512.ko
781 AUTOLOAD+=$(call AutoLoad,09,octeon-sha512)
782 endef
783
784 KernelPackage/crypto-sha512/tegra=$(KernelPackage/crypto-sha512/arm)
785
786 define KernelPackage/crypto-sha512/x86/64
787 FILES+=$(LINUX_DIR)/arch/x86/crypto/sha512-ssse3.ko
788 AUTOLOAD+=$(call AutoLoad,09,sha512-ssse3)
789 endef
790
791 $(eval $(call KernelPackage,crypto-sha512))
792
793
794 define KernelPackage/crypto-test
795 TITLE:=Test CryptoAPI module
796 KCONFIG:=CONFIG_CRYPTO_TEST
797 FILES:=$(LINUX_DIR)/crypto/tcrypt.ko
798 $(call AddDepends/crypto,+kmod-crypto-manager)
799 endef
800
801 $(eval $(call KernelPackage,crypto-test))
802
803
804 define KernelPackage/crypto-user
805 TITLE:=CryptoAPI userspace interface
806 DEPENDS:=+kmod-crypto-hash +kmod-crypto-manager
807 KCONFIG:= \
808 CONFIG_CRYPTO_USER \
809 CONFIG_CRYPTO_USER_API \
810 CONFIG_CRYPTO_USER_API_AEAD \
811 CONFIG_CRYPTO_USER_API_HASH \
812 CONFIG_CRYPTO_USER_API_RNG \
813 CONFIG_CRYPTO_USER_API_SKCIPHER
814 FILES:= \
815 $(LINUX_DIR)/crypto/af_alg.ko \
816 $(LINUX_DIR)/crypto/algif_aead.ko \
817 $(LINUX_DIR)/crypto/algif_hash.ko \
818 $(LINUX_DIR)/crypto/algif_rng.ko \
819 $(LINUX_DIR)/crypto/algif_skcipher.ko \
820 $(LINUX_DIR)/crypto/crypto_user.ko
821 AUTOLOAD:=$(call AutoLoad,09,af_alg algif_aead algif_hash algif_rng algif_skcipher crypto_user)
822 $(call AddDepends/crypto)
823 endef
824
825 $(eval $(call KernelPackage,crypto-user))
826
827
828 define KernelPackage/crypto-wq
829 TITLE:=CryptoAPI work queue handling
830 KCONFIG:=CONFIG_CRYPTO_WORKQUEUE
831 FILES:=$(LINUX_DIR)/crypto/crypto_wq.ko
832 AUTOLOAD:=$(call AutoLoad,09,crypto_wq)
833 $(call AddDepends/crypto)
834 endef
835 $(eval $(call KernelPackage,crypto-wq))
836
837
838 define KernelPackage/crypto-xts
839 TITLE:=XTS cipher CryptoAPI module
840 DEPENDS:=+kmod-crypto-gf128 +kmod-crypto-manager
841 KCONFIG:=CONFIG_CRYPTO_XTS
842 FILES:=$(LINUX_DIR)/crypto/xts.ko
843 AUTOLOAD:=$(call AutoLoad,09,xts)
844 $(call AddDepends/crypto)
845 endef
846
847 $(eval $(call KernelPackage,crypto-xts))
848