2 # Copyright (C) 2006-2011 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 CRYPTO_MENU
:=Cryptographic API modules
11 ALGAPI2
=crypto_algapi \
12 BLKCIPHER2
=crypto_blkcipher
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))))
18 define AddDepends
/crypto
19 SUBMENU
:=$(CRYPTO_MENU
)
24 define KernelPackage
/crypto-acompress
25 TITLE
:=Asynchronous Compression operations
27 KCONFIG
:=CONFIG_CRYPTO_ACOMP2
28 FILES
:=$(LINUX_DIR
)/crypto
/crypto_acompress.ko
29 AUTOLOAD
:=$(call AutoLoad
,09,crypto_acompress
)
30 $(call AddDepends
/crypto
)
33 $(eval
$(call KernelPackage
,crypto-acompress
))
36 define KernelPackage
/crypto-aead
37 TITLE
:=CryptoAPI AEAD support
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
)
48 $(eval
$(call KernelPackage
,crypto-aead
))
51 define KernelPackage
/crypto-arc4
52 TITLE
:=ARC4 cipher CryptoAPI module
55 CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE
=y
57 $(LINUX_DIR
)/crypto
/arc4.ko \
58 $(LINUX_DIR
)/lib
/crypto
/libarc4.ko
59 AUTOLOAD
:=$(call AutoLoad
,09,arc4
)
60 $(call AddDepends
/crypto
)
63 $(eval
$(call KernelPackage
,crypto-arc4
))
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
)
75 $(eval
$(call KernelPackage
,crypto-authenc
))
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
)
87 $(eval
$(call KernelPackage
,crypto-cbc
))
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
)
99 $(eval
$(call KernelPackage
,crypto-ccm
))
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
)
111 $(eval
$(call KernelPackage
,crypto-cmac
))
114 define KernelPackage
/crypto-crc32
115 TITLE
:=CRC32 CRC module
116 DEPENDS
:=+kmod-crypto-hash
117 KCONFIG
:=CONFIG_CRYPTO_CRC32
119 FILES
:=$(LINUX_DIR
)/crypto
/crc32_generic.ko
120 AUTOLOAD
:=$(call AutoLoad
,04,crc32_generic
,1)
121 $(call AddDepends
/crypto
)
124 $(eval
$(call KernelPackage
,crypto-crc32
))
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
)
136 $(eval
$(call KernelPackage
,crypto-crc32c
))
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
)
148 $(eval
$(call KernelPackage
,crypto-ctr
))
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
)
160 $(eval
$(call KernelPackage
,crypto-cts
))
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
)
172 $(eval
$(call KernelPackage
,crypto-deflate
))
175 define KernelPackage
/crypto-des
176 TITLE
:=DES
/3DES cipher CryptoAPI module
177 KCONFIG
:=CONFIG_CRYPTO_DES
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
)
185 $(eval
$(call KernelPackage
,crypto-des
))
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
)
197 $(eval
$(call KernelPackage
,crypto-ecb
))
200 define KernelPackage
/crypto-ecdh
201 TITLE
:=ECDH algorithm
202 DEPENDS
:=+kmod-crypto-kpp
203 KCONFIG
:= CONFIG_CRYPTO_ECDH
205 $(LINUX_DIR
)/crypto
/ecdh_generic.ko \
206 $(LINUX_DIR
)/crypto
/ecc.ko
207 AUTOLOAD
:=$(call AutoLoad
,10,ecdh_generic
)
208 $(call AddDepends
/crypto
)
211 $(eval
$(call KernelPackage
,crypto-ecdh
))
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
)
223 $(eval
$(call KernelPackage
,crypto-echainiv
))
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
)
234 $(eval
$(call KernelPackage
,crypto-fcrypt
))
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
)
246 $(eval
$(call KernelPackage
,crypto-gcm
))
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
)
258 $(eval
$(call KernelPackage
,crypto-xcbc
))
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
)
269 $(eval
$(call KernelPackage
,crypto-gf128
))
272 define KernelPackage
/crypto-ghash
273 TITLE
:=GHASH digest CryptoAPI module
274 DEPENDS
:=+kmod-crypto-gf128
+kmod-crypto-hash
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
)
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
)
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
)
292 $(eval
$(call KernelPackage
,crypto-ghash
))
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
)
303 $(eval
$(call KernelPackage
,crypto-hash
))
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
)
315 $(eval
$(call KernelPackage
,crypto-hmac
))
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
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
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
)
334 $(eval
$(call KernelPackage
,crypto-hw-ccp
))
337 define KernelPackage
/crypto-hw-geode
338 TITLE
:=AMD Geode hardware crypto module
339 DEPENDS
:=+kmod-crypto-manager
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
)
348 $(eval
$(call KernelPackage
,crypto-hw-geode
))
351 define KernelPackage
/crypto-hw-hifn-795x
352 TITLE
:=HIFN
795x crypto accelerator
353 DEPENDS
:=+kmod-random-core
+kmod-crypto-manager
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
)
363 $(eval
$(call KernelPackage
,crypto-hw-hifn-795x
))
366 define KernelPackage
/crypto-hw-padlock
367 TITLE
:=VIA PadLock ACE with AES
/SHA hw crypto module
368 DEPENDS
:=+kmod-crypto-manager
371 CONFIG_CRYPTO_DEV_PADLOCK \
372 CONFIG_CRYPTO_DEV_PADLOCK_AES \
373 CONFIG_CRYPTO_DEV_PADLOCK_SHA
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
)
381 $(eval
$(call KernelPackage
,crypto-hw-padlock
))
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
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
)
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.
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.
408 $(eval $(call KernelPackage,crypto-hw-safexcel))
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
416 CONFIG_CRYPTO_DEV_TALITOS \
417 CONFIG_CRYPTO_DEV_TALITOS1=y \
418 CONFIG_CRYPTO_DEV_TALITOS2=y
420 $(LINUX_DIR)/drivers/crypto/talitos.ko
421 AUTOLOAD:=$(call AutoLoad,09,talitos)
422 $(call AddDepends/crypto)
425 $(eval $(call KernelPackage,crypto-hw-talitos))
428 define KernelPackage/crypto-kpp
429 TITLE:=Key-agreement Protocol Primitives
430 KCONFIG:=CONFIG_CRYPTO_KPP
432 FILES:=$(LINUX_DIR)/crypto/kpp.ko
433 AUTOLOAD:=$(call AutoLoad,09,kpp)
434 $(call AddDepends/crypto)
437 $(eval $(call KernelPackage,crypto-kpp))
440 define KernelPackage/crypto-manager
441 TITLE:=CryptoAPI algorithm manager
442 DEPENDS:=+kmod-crypto-aead +kmod-crypto-hash +kmod-crypto-pcompress
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)
451 $(eval $(call KernelPackage,crypto-manager))
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)
463 $(eval $(call KernelPackage,crypto-md4))
466 define KernelPackage/crypto-md5
467 TITLE:=MD5 digest CryptoAPI module
468 DEPENDS:=+kmod-crypto-hash
471 CONFIG_CRYPTO_MD5_OCTEON
472 FILES:=$(LINUX_DIR)/crypto/md5.ko
473 AUTOLOAD:=$(call AutoLoad,09,md5)
474 $(call AddDepends/crypto)
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)
482 $(eval $(call KernelPackage,crypto-md5))
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)
494 $(eval $(call KernelPackage,crypto-michael-mic))
497 define KernelPackage/crypto-misc
498 TITLE:=Other CryptoAPI modules
499 DEPENDS:=+kmod-crypto-xts
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 \
524 CONFIG_CRYPTO_TGR192 \
525 CONFIG_CRYPTO_TWOFISH \
526 CONFIG_CRYPTO_TWOFISH_COMMON \
527 CONFIG_CRYPTO_TWOFISH_586 \
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)
550 $(call AddDepends/crypto)
553 ifndef CONFIG_TARGET_x86_64
554 define KernelPackage/crypto-misc/x86
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)
566 define KernelPackage/crypto-misc/x86/64
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)
586 $(eval $(call KernelPackage,crypto-misc))
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)
597 $(eval $(call KernelPackage,crypto-null))
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)
609 $(eval $(call KernelPackage,crypto-pcbc))
612 define KernelPackage/crypto-pcompress
613 TITLE:=CryptoAPI Partial (de)compression operations
615 CONFIG_CRYPTO_PCOMP=y \
617 FILES:=$(LINUX_DIR)/crypto/pcompress.ko
618 AUTOLOAD:=$(call AutoLoad,09,pcompress)
619 $(call AddDepends/crypto)
622 $(eval $(call KernelPackage,crypto-pcompress))
625 define KernelPackage/crypto-rsa
627 DEPENDS:=+kmod-crypto-manager +kmod-asn1-decoder
628 KCONFIG:= CONFIG_CRYPTO_RSA
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)
638 $(eval $(call KernelPackage,crypto-rsa))
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)
650 $(eval $(call KernelPackage,crypto-rmd160))
653 define KernelPackage/crypto-rng
654 TITLE:=CryptoAPI random number generation
655 DEPENDS:=+kmod-crypto-hash +kmod-crypto-hmac +kmod-crypto-sha256
658 CONFIG_CRYPTO_DRBG_HMAC=y \
659 CONFIG_CRYPTO_DRBG_HASH=n \
660 CONFIG_CRYPTO_DRBG_MENU \
661 CONFIG_CRYPTO_JITTERENTROPY \
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)
671 $(eval $(call KernelPackage,crypto-rng))
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)
683 $(eval $(call KernelPackage,crypto-seqiv))
686 define KernelPackage/crypto-sha1
687 TITLE:=SHA1 digest CryptoAPI module
688 DEPENDS:=+kmod-crypto-hash
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)
700 define KernelPackage/crypto-sha1/arm
701 FILES+=$(LINUX_DIR)/arch/arm/crypto/sha1-arm.ko
702 AUTOLOAD+=$(call AutoLoad,09,sha1-arm)
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)
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)
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)
720 KernelPackage/crypto-sha1/tegra=$(KernelPakcage/crypto-sha1/arm)
722 define KernelPackage/crypto-sha1/x86/64
723 FILES+=$(LINUX_DIR)/arch/x86/crypto/sha1-ssse3.ko
724 AUTOLOAD+=$(call AutoLoad,09,sha1-ssse3)
727 $(eval $(call KernelPackage,crypto-sha1))
730 define KernelPackage/crypto-sha256
731 TITLE:=SHA224 SHA256 digest CryptoAPI module
732 DEPENDS:=+kmod-crypto-hash
734 CONFIG_CRYPTO_SHA256 \
735 CONFIG_CRYPTO_SHA256_OCTEON \
736 CONFIG_CRYPTO_SHA256_SSSE3
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)
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)
749 define KernelPackage/crypto-sha256/x86/64
750 FILES+=$(LINUX_DIR)/arch/x86/crypto/sha256-ssse3.ko
751 AUTOLOAD+=$(call AutoLoad,09,sha256-ssse3)
754 $(eval $(call KernelPackage,crypto-sha256))
757 define KernelPackage/crypto-sha512
758 TITLE:=SHA512 digest CryptoAPI module
759 DEPENDS:=+kmod-crypto-hash
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)
770 define KernelPackage/crypto-sha512/arm
771 FILES+=$(LINUX_DIR)/arch/arm/crypto/sha512-arm.ko
772 AUTOLOAD+=$(call AutoLoad,09,sha512-arm)
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)
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)
784 KernelPackage/crypto-sha512/tegra=$(KernelPackage/crypto-sha512/arm)
786 define KernelPackage/crypto-sha512/x86/64
787 FILES+=$(LINUX_DIR)/arch/x86/crypto/sha512-ssse3.ko
788 AUTOLOAD+=$(call AutoLoad,09,sha512-ssse3)
791 $(eval $(call KernelPackage,crypto-sha512))
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)
801 $(eval $(call KernelPackage,crypto-test))
804 define KernelPackage/crypto-user
805 TITLE:=CryptoAPI userspace interface
806 DEPENDS:=+kmod-crypto-hash +kmod-crypto-manager
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
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)
825 $(eval $(call KernelPackage,crypto-user))
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)
835 $(eval $(call KernelPackage,crypto-wq))
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)
847 $(eval $(call KernelPackage,crypto-xts))