kernel/modules: add SSSE3 SHA256 module
[lede.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 define KernelPackage/crypto-aead
24   TITLE:=CryptoAPI AEAD support
25   KCONFIG:= \
26         CONFIG_CRYPTO_AEAD \
27         CONFIG_CRYPTO_AEAD2
28   FILES:=$(LINUX_DIR)/crypto/aead.ko
29   AUTOLOAD:=$(call AutoLoad,09,aead,1)
30   $(call AddDepends/crypto, +LINUX_4_4:kmod-crypto-null)
31 endef
32
33 $(eval $(call KernelPackage,crypto-aead))
34
35
36 define KernelPackage/crypto-hash
37   TITLE:=CryptoAPI hash support
38   KCONFIG:=CONFIG_CRYPTO_HASH
39   FILES:=$(LINUX_DIR)/crypto/crypto_hash.ko
40   AUTOLOAD:=$(call AutoLoad,02,crypto_hash,1)
41   $(call AddDepends/crypto)
42 endef
43
44 $(eval $(call KernelPackage,crypto-hash))
45
46
47 define KernelPackage/crypto-manager
48   TITLE:=CryptoAPI algorithm manager
49   DEPENDS:=+kmod-crypto-aead +kmod-crypto-hash +kmod-crypto-pcompress
50   KCONFIG:= \
51         CONFIG_CRYPTO_MANAGER \
52         CONFIG_CRYPTO_MANAGER2
53   FILES:=$(LINUX_DIR)/crypto/cryptomgr.ko
54   AUTOLOAD:=$(call AutoLoad,09,cryptomgr,1)
55   $(call AddDepends/crypto)
56 endef
57
58 $(eval $(call KernelPackage,crypto-manager))
59
60
61 define KernelPackage/crypto-pcompress
62   TITLE:=CryptoAPI Partial (de)compression operations
63   KCONFIG:= \
64         CONFIG_CRYPTO_PCOMP=y \
65         CONFIG_CRYPTO_PCOMP2
66   FILES:=$(LINUX_DIR)/crypto/pcompress.ko
67   AUTOLOAD:=$(call AutoLoad,09,pcompress)
68   $(call AddDepends/crypto)
69 endef
70
71 $(eval $(call KernelPackage,crypto-pcompress))
72
73
74 define KernelPackage/crypto-user
75   TITLE:=CryptoAPI userspace interface
76   DEPENDS:=+kmod-crypto-hash +kmod-crypto-manager
77   KCONFIG:= \
78         CONFIG_CRYPTO_USER_API \
79         CONFIG_CRYPTO_USER_API_HASH \
80         CONFIG_CRYPTO_USER_API_SKCIPHER
81   FILES:= \
82         $(LINUX_DIR)/crypto/af_alg.ko \
83         $(LINUX_DIR)/crypto/algif_hash.ko \
84         $(LINUX_DIR)/crypto/algif_skcipher.ko
85   AUTOLOAD:=$(call AutoLoad,09,af_alg algif_hash algif_skcipher)
86   $(call AddDepends/crypto)
87 endef
88
89 $(eval $(call KernelPackage,crypto-user))
90
91
92 define KernelPackage/crypto-wq
93   TITLE:=CryptoAPI work queue handling
94   KCONFIG:=CONFIG_CRYPTO_WORKQUEUE
95   FILES:=$(LINUX_DIR)/crypto/crypto_wq.ko
96   AUTOLOAD:=$(call AutoLoad,09,crypto_wq)
97   $(call AddDepends/crypto)
98 endef
99 $(eval $(call KernelPackage,crypto-wq))
100
101 define KernelPackage/crypto-rng
102   TITLE:=CryptoAPI random number generation
103   DEPENDS:=+kmod-crypto-hash +kmod-crypto-hmac +kmod-crypto-sha256
104   KCONFIG:= \
105         CONFIG_CRYPTO_DRBG \
106         CONFIG_CRYPTO_DRBG_HMAC=y \
107         CONFIG_CRYPTO_DRBG_HASH=n \
108         CONFIG_CRYPTO_DRBG_MENU \
109         CONFIG_CRYPTO_JITTERENTROPY \
110         CONFIG_CRYPTO_RNG2
111   FILES:= \
112         $(LINUX_DIR)/crypto/drbg.ko@ge4.2 \
113         $(LINUX_DIR)/crypto/jitterentropy_rng.ko@ge4.2 \
114         $(LINUX_DIR)/crypto/krng.ko@lt4.2 \
115         $(LINUX_DIR)/crypto/rng.ko
116   AUTOLOAD:=$(call AutoLoad,09,drbg@ge4.2 jitterentropy_rng@ge4.2 krng@lt4.2 rng)
117   $(call AddDepends/crypto)
118 endef
119
120 $(eval $(call KernelPackage,crypto-rng))
121
122
123 define KernelPackage/crypto-iv
124   TITLE:=CryptoAPI initialization vectors
125   DEPENDS:=+kmod-crypto-manager +kmod-crypto-rng +kmod-crypto-wq
126   KCONFIG:= CONFIG_CRYPTO_BLKCIPHER2
127   FILES:= \
128         $(LINUX_DIR)/crypto/eseqiv.ko \
129         $(LINUX_DIR)/crypto/chainiv.ko
130   AUTOLOAD:=$(call AutoLoad,10,eseqiv chainiv)
131   $(call AddDepends/crypto)
132 endef
133
134 $(eval $(call KernelPackage,crypto-iv))
135
136
137 define KernelPackage/crypto-echainiv
138   TITLE:=Encrypted Chain IV Generator
139   DEPENDS:=+kmod-crypto-aead
140   KCONFIG:=CONFIG_CRYPTO_ECHAINIV
141   FILES:=$(LINUX_DIR)/crypto/echainiv.ko
142   AUTOLOAD:=$(call AutoLoad,09,echainiv)
143   $(call AddDepends/crypto)
144 endef
145
146 $(eval $(call KernelPackage,crypto-echainiv))
147
148
149 define KernelPackage/crypto-seqiv
150   TITLE:=CryptoAPI Sequence Number IV Generator
151   DEPENDS:=+kmod-crypto-aead +kmod-crypto-rng
152   KCONFIG:=CONFIG_CRYPTO_SEQIV
153   FILES:=$(LINUX_DIR)/crypto/seqiv.ko
154   AUTOLOAD:=$(call AutoLoad,09,seqiv)
155   $(call AddDepends/crypto)
156 endef
157
158 $(eval $(call KernelPackage,crypto-seqiv))
159
160
161 define KernelPackage/crypto-hw-caam
162   TITLE:=Freescale CAAM driver (SEC4)
163   DEPENDS:=@TARGET_imx6||TARGET_mpc85xx +kmod-crypto-aead +kmod-crypto-authenc +kmod-crypto-hash +kmod-random-core
164   KCONFIG:= \
165         CONFIG_CRYPTO_HW=y \
166         CONFIG_CRYPTO_DEV_FSL_CAAM \
167         CONFIG_CRYPTO_DEV_FSL_CAAM_JR \
168         CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API \
169         CONFIG_CRYPTO_DEV_FSL_CAAM_AHASH_API \
170         CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_API \
171         CONFIG_CRYPTO_DEV_FSL_CAAM_RINGSIZE=9 \
172         CONFIG_CRYPTO_DEV_FSL_CAAM_INTC=n \
173         CONFIG_CRYPTO_DEV_FSL_CAAM_DEBUG=n
174   FILES:= \
175         $(LINUX_DIR)/drivers/crypto/caam/caam.ko \
176         $(LINUX_DIR)/drivers/crypto/caam/caamalg.ko \
177         $(LINUX_DIR)/drivers/crypto/caam/caamhash.ko \
178         $(LINUX_DIR)/drivers/crypto/caam/caam_jr.ko \
179         $(LINUX_DIR)/drivers/crypto/caam/caamrng.ko
180   AUTOLOAD:=$(call AutoLoad,09,caam caamalg caamhash caam_jr caamrng)
181   $(call AddDepends/crypto)
182 endef
183
184 $(eval $(call KernelPackage,crypto-hw-caam))
185
186
187 define KernelPackage/crypto-hw-talitos
188   TITLE:=Freescale integrated security engine (SEC) driver
189   DEPENDS:=+kmod-crypto-manager +kmod-crypto-hash +kmod-random-core +kmod-crypto-authenc
190   KCONFIG:= \
191         CONFIG_CRYPTO_HW=y \
192         CONFIG_CRYPTO_DEV_TALITOS \
193         CONFIG_CRYPTO_DEV_TALITOS1=y \
194         CONFIG_CRYPTO_DEV_TALITOS2=y
195   FILES:= \
196         $(LINUX_DIR)/drivers/crypto/talitos.ko
197   AUTOLOAD:=$(call AutoLoad,09,talitos)
198   $(call AddDepends/crypto)
199 endef
200
201 $(eval $(call KernelPackage,crypto-hw-talitos))
202
203
204 define KernelPackage/crypto-hw-padlock
205   TITLE:=VIA PadLock ACE with AES/SHA hw crypto module
206   DEPENDS:=+kmod-crypto-manager
207   KCONFIG:= \
208         CONFIG_CRYPTO_HW=y \
209         CONFIG_CRYPTO_DEV_PADLOCK \
210         CONFIG_CRYPTO_DEV_PADLOCK_AES \
211         CONFIG_CRYPTO_DEV_PADLOCK_SHA
212   FILES:= \
213         $(LINUX_DIR)/drivers/crypto/padlock-aes.ko \
214         $(LINUX_DIR)/drivers/crypto/padlock-sha.ko
215   AUTOLOAD:=$(call AutoLoad,09,padlock-aes padlock-sha)
216   $(call AddDepends/crypto)
217 endef
218
219 $(eval $(call KernelPackage,crypto-hw-padlock))
220
221
222 define KernelPackage/crypto-hw-ccp
223   TITLE:=AMD Cryptographic Coprocessor
224   DEPENDS:=+kmod-crypto-authenc +kmod-crypto-hash +kmod-crypto-manager +kmod-random-core
225   KCONFIG:= \
226         CONFIG_CRYPTO_HW=y \
227         CONFIG_CRYPTO_DEV_CCP=y \
228         CONFIG_CRYPTO_DEV_CCP_CRYPTO \
229         CONFIG_CRYPTO_DEV_CCP_DD
230   FILES:= \
231         $(LINUX_DIR)/drivers/crypto/ccp/ccp.ko \
232         $(LINUX_DIR)/drivers/crypto/ccp/ccp-crypto.ko
233   AUTOLOAD:=$(call AutoLoad,09,ccp ccp-crypto)
234   $(call AddDepends/crypto)
235 endef
236
237 $(eval $(call KernelPackage,crypto-hw-ccp))
238
239
240 define KernelPackage/crypto-hw-geode
241   TITLE:=AMD Geode hardware crypto module
242   DEPENDS:=+kmod-crypto-manager
243   KCONFIG:= \
244         CONFIG_CRYPTO_HW=y \
245         CONFIG_CRYPTO_DEV_GEODE
246   FILES:=$(LINUX_DIR)/drivers/crypto/geode-aes.ko
247   AUTOLOAD:=$(call AutoLoad,09,geode-aes)
248   $(call AddDepends/crypto)
249 endef
250
251 $(eval $(call KernelPackage,crypto-hw-geode))
252
253
254 define KernelPackage/crypto-hw-hifn-795x
255   TITLE:=HIFN 795x crypto accelerator
256   DEPENDS:=+kmod-random-core +kmod-crypto-manager
257   KCONFIG:= \
258         CONFIG_CRYPTO_HW=y \
259         CONFIG_CRYPTO_DEV_HIFN_795X \
260         CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
261   FILES:=$(LINUX_DIR)/drivers/crypto/hifn_795x.ko
262   AUTOLOAD:=$(call AutoLoad,09,hifn_795x)
263   $(call AddDepends/crypto,+kmod-crypto-des)
264 endef
265
266 $(eval $(call KernelPackage,crypto-hw-hifn-795x))
267
268
269 define KernelPackage/crypto-hw-ppc4xx
270   TITLE:=AMCC PPC4xx hardware crypto module
271   DEPENDS:=@TARGET_ppc40x||TARGET_ppc44x
272   KCONFIG:= \
273         CONFIG_CRYPTO_HW=y \
274         CONFIG_CRYPTO_DEV_PPC4XX
275   FILES:=$(LINUX_DIR)/drivers/crypto/amcc/crypto4xx.ko
276   AUTOLOAD:=$(call AutoLoad,90,crypto4xx)
277   $(call AddDepends/crypto,+kmod-crypto-manager +kmod-crypto-hash)
278 endef
279
280 define KernelPackage/crypto-hw-ppc4xx/description
281   Kernel support for the AMCC PPC4xx HW crypto engine.
282 endef
283
284 $(eval $(call KernelPackage,crypto-hw-ppc4xx))
285
286
287 define KernelPackage/crypto-hw-omap
288   TITLE:=TI OMAP hardware crypto modules
289   DEPENDS:=@TARGET_omap
290   KCONFIG:= \
291         CONFIG_CRYPTO_HW=y \
292         CONFIG_CRYPTO_DEV_OMAP_AES \
293         CONFIG_CRYPTO_DEV_OMAP_DES \
294         CONFIG_CRYPTO_DEV_OMAP_SHAM
295 ifneq ($(wildcard $(LINUX_DIR)/drivers/crypto/omap-des.ko),)
296   FILES:= \
297         $(LINUX_DIR)/drivers/crypto/omap-aes.ko \
298         $(LINUX_DIR)/drivers/crypto/omap-des.ko \
299         $(LINUX_DIR)/drivers/crypto/omap-sham.ko
300   AUTOLOAD:=$(call AutoLoad,90,omap-aes omap-des omap-sham)
301 else
302   FILES:= \
303         $(LINUX_DIR)/drivers/crypto/omap-aes.ko \
304         $(LINUX_DIR)/drivers/crypto/omap-sham.ko
305   AUTOLOAD:=$(call AutoLoad,90,omap-aes omap-sham)
306 endif
307   $(call AddDepends/crypto,+kmod-crypto-manager +kmod-crypto-hash)
308 endef
309
310 define KernelPackage/crypto-hw-omap/description
311   Kernel support for the TI OMAP HW crypto engine.
312 endef
313
314 $(eval $(call KernelPackage,crypto-hw-omap))
315
316
317 define KernelPackage/crypto-authenc
318   TITLE:=Combined mode wrapper for IPsec
319   DEPENDS:=+kmod-crypto-manager +LINUX_4_4:kmod-crypto-null
320   KCONFIG:=CONFIG_CRYPTO_AUTHENC
321   FILES:=$(LINUX_DIR)/crypto/authenc.ko
322   AUTOLOAD:=$(call AutoLoad,09,authenc)
323   $(call AddDepends/crypto)
324 endef
325
326 $(eval $(call KernelPackage,crypto-authenc))
327
328 define KernelPackage/crypto-cbc
329   TITLE:=Cipher Block Chaining CryptoAPI module
330   DEPENDS:=+kmod-crypto-manager
331   KCONFIG:=CONFIG_CRYPTO_CBC
332   FILES:=$(LINUX_DIR)/crypto/cbc.ko
333   AUTOLOAD:=$(call AutoLoad,09,cbc)
334   $(call AddDepends/crypto)
335 endef
336
337 $(eval $(call KernelPackage,crypto-cbc))
338
339 define KernelPackage/crypto-ctr
340   TITLE:=Counter Mode CryptoAPI module
341   DEPENDS:=+kmod-crypto-manager +kmod-crypto-seqiv +kmod-crypto-iv
342   KCONFIG:=CONFIG_CRYPTO_CTR
343   FILES:=$(LINUX_DIR)/crypto/ctr.ko
344   AUTOLOAD:=$(call AutoLoad,09,ctr)
345   $(call AddDepends/crypto)
346 endef
347
348 $(eval $(call KernelPackage,crypto-ctr))
349
350 define KernelPackage/crypto-ccm
351  TITLE:=Support for Counter with CBC MAC (CCM)
352  DEPENDS:=+kmod-crypto-ctr +kmod-crypto-aead
353  KCONFIG:=CONFIG_CRYPTO_CCM
354  FILES:=$(LINUX_DIR)/crypto/ccm.ko
355  AUTOLOAD:=$(call AutoLoad,09,ccm)
356  $(call AddDepends/crypto)
357 endef
358
359 $(eval $(call KernelPackage,crypto-ccm))
360
361 define KernelPackage/crypto-pcbc
362   TITLE:=Propagating Cipher Block Chaining CryptoAPI module
363   DEPENDS:=+kmod-crypto-manager
364   KCONFIG:=CONFIG_CRYPTO_PCBC
365   FILES:=$(LINUX_DIR)/crypto/pcbc.ko
366   AUTOLOAD:=$(call AutoLoad,09,pcbc)
367   $(call AddDepends/crypto)
368 endef
369
370 $(eval $(call KernelPackage,crypto-pcbc))
371
372 define KernelPackage/crypto-crc32c
373   TITLE:=CRC32c CRC module
374   DEPENDS:=+kmod-crypto-hash
375   KCONFIG:=CONFIG_CRYPTO_CRC32C
376   FILES:=$(LINUX_DIR)/crypto/crc32c_generic.ko
377   AUTOLOAD:=$(call AutoLoad,04,crc32c_generic,1)
378   $(call AddDepends/crypto)
379 endef
380
381 $(eval $(call KernelPackage,crypto-crc32c))
382
383
384 define KernelPackage/crypto-des
385   TITLE:=DES/3DES cipher CryptoAPI module
386   KCONFIG:=CONFIG_CRYPTO_DES
387   FILES:=$(LINUX_DIR)/crypto/des_generic.ko
388   AUTOLOAD:=$(call AutoLoad,09,des_generic)
389   $(call AddDepends/crypto)
390 endef
391
392 $(eval $(call KernelPackage,crypto-des))
393
394
395 define KernelPackage/crypto-deflate
396   TITLE:=Deflate compression CryptoAPI module
397   DEPENDS:=+kmod-lib-zlib-inflate +kmod-lib-zlib-deflate
398   KCONFIG:=CONFIG_CRYPTO_DEFLATE
399   FILES:=$(LINUX_DIR)/crypto/deflate.ko
400   AUTOLOAD:=$(call AutoLoad,09,deflate)
401   $(call AddDepends/crypto)
402 endef
403
404 $(eval $(call KernelPackage,crypto-deflate))
405
406
407 define KernelPackage/crypto-fcrypt
408   TITLE:=FCRYPT cipher CryptoAPI module
409   KCONFIG:=CONFIG_CRYPTO_FCRYPT
410   FILES:=$(LINUX_DIR)/crypto/fcrypt.ko
411   AUTOLOAD:=$(call AutoLoad,09,fcrypt)
412   $(call AddDepends/crypto)
413 endef
414
415 $(eval $(call KernelPackage,crypto-fcrypt))
416
417 define KernelPackage/crypto-ecb
418   TITLE:=Electronic CodeBook CryptoAPI module
419   DEPENDS:=+kmod-crypto-manager
420   KCONFIG:=CONFIG_CRYPTO_ECB
421   FILES:=$(LINUX_DIR)/crypto/ecb.ko
422   AUTOLOAD:=$(call AutoLoad,09,ecb)
423   $(call AddDepends/crypto)
424 endef
425
426 $(eval $(call KernelPackage,crypto-ecb))
427
428
429 define KernelPackage/crypto-hmac
430   TITLE:=HMAC digest CryptoAPI module
431   DEPENDS:=+kmod-crypto-hash +kmod-crypto-manager
432   KCONFIG:=CONFIG_CRYPTO_HMAC
433   FILES:=$(LINUX_DIR)/crypto/hmac.ko
434   AUTOLOAD:=$(call AutoLoad,09,hmac)
435   $(call AddDepends/crypto)
436 endef
437
438 $(eval $(call KernelPackage,crypto-hmac))
439
440
441 define KernelPackage/crypto-cmac
442   TITLE:=Support for Cipher-based Message Authentication Code (CMAC)
443   DEPENDS:=+kmod-crypto-hash
444   KCONFIG:=CONFIG_CRYPTO_CMAC
445   FILES:=$(LINUX_DIR)/crypto/cmac.ko
446   AUTOLOAD:=$(call AutoLoad,09,cmac)
447   $(call AddDepends/crypto)
448 endef
449
450 $(eval $(call KernelPackage,crypto-cmac))
451
452
453 define KernelPackage/crypto-gcm
454   TITLE:=GCM/GMAC CryptoAPI module
455   DEPENDS:=+kmod-crypto-ctr +kmod-crypto-ghash +kmod-crypto-null
456   KCONFIG:=CONFIG_CRYPTO_GCM
457   FILES:=$(LINUX_DIR)/crypto/gcm.ko
458   AUTOLOAD:=$(call AutoLoad,09,gcm)
459   $(call AddDepends/crypto)
460 endef
461
462 $(eval $(call KernelPackage,crypto-gcm))
463
464
465 define KernelPackage/crypto-gf128
466   TITLE:=GF(2^128) multiplication functions CryptoAPI module
467   KCONFIG:=CONFIG_CRYPTO_GF128MUL
468   FILES:=$(LINUX_DIR)/crypto/gf128mul.ko
469   AUTOLOAD:=$(call AutoLoad,09,gf128mul)
470   $(call AddDepends/crypto)
471 endef
472
473 $(eval $(call KernelPackage,crypto-gf128))
474
475
476 define KernelPackage/crypto-ghash
477   TITLE:=GHASH digest CryptoAPI module
478   DEPENDS:=+kmod-crypto-gf128 +kmod-crypto-hash
479   KCONFIG:=CONFIG_CRYPTO_GHASH
480   FILES:=$(LINUX_DIR)/crypto/ghash-generic.ko
481   AUTOLOAD:=$(call AutoLoad,09,ghash-generic)
482   $(call AddDepends/crypto)
483 endef
484
485 $(eval $(call KernelPackage,crypto-ghash))
486
487
488 define KernelPackage/crypto-md4
489   TITLE:=MD4 digest CryptoAPI module
490   DEPENDS:=+kmod-crypto-hash
491   KCONFIG:=CONFIG_CRYPTO_MD4
492   FILES:=$(LINUX_DIR)/crypto/md4.ko
493   AUTOLOAD:=$(call AutoLoad,09,md4)
494   $(call AddDepends/crypto)
495 endef
496
497 $(eval $(call KernelPackage,crypto-md4))
498
499
500 define KernelPackage/crypto-md5
501   TITLE:=MD5 digest CryptoAPI module
502   DEPENDS:=+kmod-crypto-hash
503   KCONFIG:= \
504         CONFIG_CRYPTO_MD5 \
505         CONFIG_CRYPTO_MD5_OCTEON
506   FILES:=$(LINUX_DIR)/crypto/md5.ko
507   AUTOLOAD:=$(call AutoLoad,09,md5)
508   $(call AddDepends/crypto)
509 endef
510
511 define KernelPackage/crypto-md5/octeon
512   FILES+=$(LINUX_DIR)/arch/mips/cavium-octeon/crypto/octeon-md5.ko
513   AUTOLOAD:=$(call AutoLoad,09,octeon-md5)
514 endef
515
516 $(eval $(call KernelPackage,crypto-md5))
517
518
519 define KernelPackage/crypto-michael-mic
520   TITLE:=Michael MIC keyed digest CryptoAPI module
521   DEPENDS:=+kmod-crypto-hash
522   KCONFIG:=CONFIG_CRYPTO_MICHAEL_MIC
523   FILES:=$(LINUX_DIR)/crypto/michael_mic.ko
524   AUTOLOAD:=$(call AutoLoad,09,michael_mic)
525   $(call AddDepends/crypto)
526 endef
527
528 $(eval $(call KernelPackage,crypto-michael-mic))
529
530
531 define KernelPackage/crypto-sha1
532   TITLE:=SHA1 digest CryptoAPI module
533   DEPENDS:=+kmod-crypto-hash
534   KCONFIG:= \
535         CONFIG_CRYPTO_SHA1 \
536         CONFIG_CRYPTO_SHA1_OCTEON \
537         CONFIG_CRYPTO_SHA1_SSSE3
538   FILES:=$(LINUX_DIR)/crypto/sha1_generic.ko
539   AUTOLOAD:=$(call AutoLoad,09,sha1_generic)
540   $(call AddDepends/crypto)
541 endef
542
543 define KernelPackage/crypto-sha1/octeon
544   FILES+=$(LINUX_DIR)/arch/mips/cavium-octeon/crypto/octeon-sha1.ko
545   AUTOLOAD:=$(call AutoLoad,09,octeon-sha1)
546 endef
547
548 define KernelPackage/crypto-sha1/x86/64
549   FILES+=$(LINUX_DIR)/arch/x86/crypto/sha1-ssse3.ko
550   AUTOLOAD:=$(call AutoLoad,09,sha1-ssse3)
551 endef
552
553 $(eval $(call KernelPackage,crypto-sha1))
554
555
556 define KernelPackage/crypto-sha256
557   TITLE:=SHA224 SHA256 digest CryptoAPI module
558   DEPENDS:=+kmod-crypto-hash
559   KCONFIG:= \
560         CONFIG_CRYPTO_SHA256 \
561         CONFIG_CRYPTO_SHA256_OCTEON \
562         CONFIG_CRYPTO_SHA256_SSSE3
563   FILES:=$(LINUX_DIR)/crypto/sha256_generic.ko
564   AUTOLOAD:=$(call AutoLoad,09,sha256_generic)
565   $(call AddDepends/crypto)
566 endef
567
568 define KernelPackage/crypto-sha256/octeon
569   FILES+=$(LINUX_DIR)/arch/mips/cavium-octeon/crypto/octeon-sha256.ko
570   AUTOLOAD:=$(call AutoLoad,09,octeon-sha256)
571 endef
572
573 define KernelPackage/crypto-sha256/x86/64
574   FILES+=$(LINUX_DIR)/arch/x86/crypto/sha256-ssse3.ko
575   AUTOLOAD:=$(call AutoLoad,09,sha256-ssse3)
576 endef
577
578 $(eval $(call KernelPackage,crypto-sha256))
579
580
581 define KernelPackage/crypto-sha512
582   TITLE:=SHA512 digest CryptoAPI module
583   DEPENDS:=+kmod-crypto-hash
584   KCONFIG:= \
585         CONFIG_CRYPTO_SHA512 \
586         CONFIG_CRYPTO_SHA512_OCTEON
587   FILES:=$(LINUX_DIR)/crypto/sha512_generic.ko
588   AUTOLOAD:=$(call AutoLoad,09,sha512_generic)
589   $(call AddDepends/crypto)
590 endef
591
592 define KernelPackage/crypto-sha512/octeon
593   FILES+=$(LINUX_DIR)/arch/mips/cavium-octeon/crypto/octeon-sha512.ko
594   AUTOLOAD:=$(call AutoLoad,09,octeon-sha512)
595 endef
596
597 $(eval $(call KernelPackage,crypto-sha512))
598
599
600 define KernelPackage/crypto-misc
601   TITLE:=Other CryptoAPI modules
602   DEPENDS:=+kmod-crypto-manager
603   KCONFIG:= \
604         CONFIG_CRYPTO_ANUBIS \
605         CONFIG_CRYPTO_BLOWFISH \
606         CONFIG_CRYPTO_CAMELLIA \
607         CONFIG_CRYPTO_CAST5 \
608         CONFIG_CRYPTO_CAST6 \
609         CONFIG_CRYPTO_FCRYPT \
610         CONFIG_CRYPTO_KHAZAD \
611         CONFIG_CRYPTO_SERPENT \
612         CONFIG_CRYPTO_TEA \
613         CONFIG_CRYPTO_TGR192 \
614         CONFIG_CRYPTO_TWOFISH \
615         CONFIG_CRYPTO_TWOFISH_COMMON \
616         CONFIG_CRYPTO_TWOFISH_586 \
617         CONFIG_CRYPTO_WP512
618   FILES:= \
619         $(LINUX_DIR)/crypto/anubis.ko \
620         $(LINUX_DIR)/crypto/camellia_generic.ko \
621         $(LINUX_DIR)/crypto/cast_common.ko \
622         $(LINUX_DIR)/crypto/cast5_generic.ko \
623         $(LINUX_DIR)/crypto/cast6_generic.ko \
624         $(LINUX_DIR)/crypto/khazad.ko \
625         $(LINUX_DIR)/crypto/tea.ko \
626         $(LINUX_DIR)/crypto/tgr192.ko \
627         $(LINUX_DIR)/crypto/twofish_common.ko \
628         $(LINUX_DIR)/crypto/wp512.ko \
629         $(LINUX_DIR)/crypto/twofish_generic.ko \
630         $(LINUX_DIR)/crypto/blowfish_common.ko \
631         $(LINUX_DIR)/crypto/blowfish_generic.ko \
632         $(LINUX_DIR)/crypto/serpent_generic.ko
633   $(call AddDepends/crypto)
634 endef
635
636 ifndef CONFIG_TARGET_x86_64
637   define KernelPackage/crypto-misc/x86
638     FILES+=$(LINUX_DIR)/arch/x86/crypto/twofish-i586.ko
639   endef
640 endif
641
642 $(eval $(call KernelPackage,crypto-misc))
643
644
645 define KernelPackage/crypto-null
646   TITLE:=Null CryptoAPI module
647   KCONFIG:=CONFIG_CRYPTO_NULL
648   FILES:=$(LINUX_DIR)/crypto/crypto_null.ko
649   AUTOLOAD:=$(call AutoLoad,09,crypto_null)
650   $(call AddDepends/crypto, +kmod-crypto-hash)
651 endef
652
653 $(eval $(call KernelPackage,crypto-null))
654
655
656 define KernelPackage/crypto-test
657   TITLE:=Test CryptoAPI module
658   KCONFIG:=CONFIG_CRYPTO_TEST
659   FILES:=$(LINUX_DIR)/crypto/tcrypt.ko
660   $(call AddDepends/crypto,+kmod-crypto-manager)
661 endef
662
663 $(eval $(call KernelPackage,crypto-test))
664
665
666 define KernelPackage/crypto-xts
667   TITLE:=XTS cipher CryptoAPI module
668   DEPENDS:=+kmod-crypto-gf128 +kmod-crypto-manager
669   KCONFIG:=CONFIG_CRYPTO_XTS
670   FILES:=$(LINUX_DIR)/crypto/xts.ko
671   AUTOLOAD:=$(call AutoLoad,09,xts)
672   $(call AddDepends/crypto)
673 endef
674
675 $(eval $(call KernelPackage,crypto-xts))