X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=blobdiff_plain;f=package%2Fkernel%2Flinux%2Fmodules%2Fcrypto.mk;h=1add16e161b2b1cd26dbd746f9af6f8f82a9cff8;hp=7996d03fd39d794c291989ba8d8875b43e0b8949;hb=187ab0bceb805ca52f9b7bc3fb3f50997e665ca9;hpb=06d0fda4d1220ea54c2886df594320f19622a98c diff --git a/package/kernel/linux/modules/crypto.mk b/package/kernel/linux/modules/crypto.mk index 7996d03fd3..1add16e161 100644 --- a/package/kernel/linux/modules/crypto.mk +++ b/package/kernel/linux/modules/crypto.mk @@ -7,333 +7,405 @@ CRYPTO_MENU:=Cryptographic API modules -CRYPTO_MODULES = ALGAPI2=crypto_algapi - -CRYPTOMGR_MODULES = \ - AEAD2=aead \ - MANAGER2=cryptomgr \ +CRYPTO_MODULES = \ + ALGAPI2=crypto_algapi \ BLKCIPHER2=crypto_blkcipher crypto_confvar=CONFIG_CRYPTO_$(word 1,$(subst =,$(space),$(1))) crypto_file=$(LINUX_DIR)/crypto/$(word 2,$(subst =,$(space),$(1))).ko crypto_name=$(if $(findstring y,$($(call crypto_confvar,$(1)))),,$(word 2,$(subst =,$(space),$(1)))) -define KernelPackage/crypto-core +define AddDepends/crypto SUBMENU:=$(CRYPTO_MENU) - TITLE:=Core CryptoAPI modules - KCONFIG:= \ - CONFIG_CRYPTO=y \ - CONFIG_CRYPTO_HW=y \ - CONFIG_CRYPTO_ALGAPI \ - $(foreach mod,$(CRYPTO_MODULES),$(call crypto_confvar,$(mod))) - FILES:=$(foreach mod,$(CRYPTO_MODULES),$(call crypto_file,$(mod))) + DEPENDS+= $(1) endef -$(eval $(call KernelPackage,crypto-core)) +define KernelPackage/crypto-acompress + TITLE:=Asynchronous Compression operations + HIDDEN:=1 + KCONFIG:=CONFIG_CRYPTO_ACOMP2 + FILES:=$(LINUX_DIR)/crypto/crypto_acompress.ko + AUTOLOAD:=$(call AutoLoad,09,crypto_acompress) + $(call AddDepends/crypto) +endef -define AddDepends/crypto - SUBMENU:=$(CRYPTO_MENU) - DEPENDS+=+kmod-crypto-core $(1) +$(eval $(call KernelPackage,crypto-acompress)) + + +define KernelPackage/crypto-aead + TITLE:=CryptoAPI AEAD support + KCONFIG:= \ + CONFIG_CRYPTO_AEAD \ + CONFIG_CRYPTO_AEAD2 + FILES:=$(LINUX_DIR)/crypto/aead.ko + AUTOLOAD:=$(call AutoLoad,09,aead,1) + $(call AddDepends/crypto, +!LINUX_3_18:kmod-crypto-null) endef -define KernelPackage/crypto-hash - TITLE:=CryptoAPI hash support - KCONFIG:=CONFIG_CRYPTO_HASH - FILES:=$(LINUX_DIR)/crypto/crypto_hash.ko - AUTOLOAD:=$(call AutoLoad,02,crypto_hash,1) +$(eval $(call KernelPackage,crypto-aead)) + + +define KernelPackage/crypto-authenc + TITLE:=Combined mode wrapper for IPsec + DEPENDS:=+kmod-crypto-manager +!LINUX_3_18:kmod-crypto-null + KCONFIG:=CONFIG_CRYPTO_AUTHENC + FILES:=$(LINUX_DIR)/crypto/authenc.ko + AUTOLOAD:=$(call AutoLoad,09,authenc) $(call AddDepends/crypto) endef -$(eval $(call KernelPackage,crypto-hash)) +$(eval $(call KernelPackage,crypto-authenc)) -define KernelPackage/crypto-manager - TITLE:=CryptoAPI algorithm manager - DEPENDS:=+kmod-crypto-hash +kmod-crypto-pcompress - KCONFIG:= \ - CONFIG_CRYPTO_AEAD \ - CONFIG_CRYPTO_BLKCIPHER \ - CONFIG_CRYPTO_MANAGER \ - $(foreach mod,$(CRYPTOMGR_MODULES),$(call crypto_confvar,$(mod))) - FILES:=$(foreach mod,$(CRYPTOMGR_MODULES),$(call crypto_file,$(mod))) +define KernelPackage/crypto-cbc + TITLE:=Cipher Block Chaining CryptoAPI module + DEPENDS:=+kmod-crypto-manager + KCONFIG:=CONFIG_CRYPTO_CBC + FILES:=$(LINUX_DIR)/crypto/cbc.ko + AUTOLOAD:=$(call AutoLoad,09,cbc) $(call AddDepends/crypto) endef -$(eval $(call KernelPackage,crypto-manager)) +$(eval $(call KernelPackage,crypto-cbc)) -define KernelPackage/crypto-pcompress - TITLE:=CryptoAPI Partial (de)compression operations - KCONFIG:= \ - CONFIG_CRYPTO_PCOMP=y \ - CONFIG_CRYPTO_PCOMP2 - FILES:=$(LINUX_DIR)/crypto/pcompress.ko - AUTOLOAD:=$(call AutoLoad,09,pcompress) +define KernelPackage/crypto-ccm + TITLE:=Support for Counter with CBC MAC (CCM) + DEPENDS:=+kmod-crypto-ctr +kmod-crypto-aead + KCONFIG:=CONFIG_CRYPTO_CCM + FILES:=$(LINUX_DIR)/crypto/ccm.ko + AUTOLOAD:=$(call AutoLoad,09,ccm) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-ccm)) + + +define KernelPackage/crypto-cmac + TITLE:=Support for Cipher-based Message Authentication Code (CMAC) + DEPENDS:=+kmod-crypto-hash + KCONFIG:=CONFIG_CRYPTO_CMAC + FILES:=$(LINUX_DIR)/crypto/cmac.ko + AUTOLOAD:=$(call AutoLoad,09,cmac) $(call AddDepends/crypto) endef -$(eval $(call KernelPackage,crypto-pcompress)) +$(eval $(call KernelPackage,crypto-cmac)) -define KernelPackage/crypto-user - TITLE:=CryptoAPI userspace interface - DEPENDS:=+kmod-crypto-hash +kmod-crypto-manager - KCONFIG:= \ - CONFIG_CRYPTO_USER_API \ - CONFIG_CRYPTO_USER_API_HASH \ - CONFIG_CRYPTO_USER_API_SKCIPHER - FILES:= \ - $(LINUX_DIR)/crypto/af_alg.ko \ - $(LINUX_DIR)/crypto/algif_hash.ko \ - $(LINUX_DIR)/crypto/algif_skcipher.ko - AUTOLOAD:=$(call AutoLoad,09,af_alg algif_hash algif_skcipher) +define KernelPackage/crypto-crc32 + TITLE:=CRC32 CRC module + DEPENDS:=+kmod-crypto-hash + KCONFIG:=CONFIG_CRYPTO_CRC32 + HIDDEN:=1 + FILES:=$(LINUX_DIR)/crypto/crc32_generic.ko@ge4.9 + AUTOLOAD:=$(call AutoLoad,04,crc32_generic@ge4.9,1) $(call AddDepends/crypto) endef -$(eval $(call KernelPackage,crypto-user)) +$(eval $(call KernelPackage,crypto-crc32)) -define KernelPackage/crypto-wq - TITLE:=CryptoAPI work queue handling - KCONFIG:=CONFIG_CRYPTO_WORKQUEUE - FILES:=$(LINUX_DIR)/crypto/crypto_wq.ko - AUTOLOAD:=$(call AutoLoad,09,crypto_wq) +define KernelPackage/crypto-crc32c + TITLE:=CRC32c CRC module + DEPENDS:=+kmod-crypto-hash + KCONFIG:=CONFIG_CRYPTO_CRC32C + FILES:=$(LINUX_DIR)/crypto/crc32c_generic.ko + AUTOLOAD:=$(call AutoLoad,04,crc32c_generic,1) $(call AddDepends/crypto) endef -$(eval $(call KernelPackage,crypto-wq)) -define KernelPackage/crypto-rng - TITLE:=CryptoAPI random number generation - KCONFIG:=CONFIG_CRYPTO_RNG2 - FILES:= \ - $(LINUX_DIR)/crypto/rng.ko \ - $(LINUX_DIR)/crypto/krng.ko - AUTOLOAD:=$(call AutoLoad,09,rng krng) +$(eval $(call KernelPackage,crypto-crc32c)) + + +define KernelPackage/crypto-ctr + TITLE:=Counter Mode CryptoAPI module + DEPENDS:=+kmod-crypto-manager +kmod-crypto-seqiv +kmod-crypto-iv + KCONFIG:=CONFIG_CRYPTO_CTR + FILES:=$(LINUX_DIR)/crypto/ctr.ko + AUTOLOAD:=$(call AutoLoad,09,ctr) $(call AddDepends/crypto) endef -$(eval $(call KernelPackage,crypto-rng)) +$(eval $(call KernelPackage,crypto-ctr)) -define KernelPackage/crypto-iv - TITLE:=CryptoAPI initialization vectors - DEPENDS:=+kmod-crypto-manager +kmod-crypto-rng +kmod-crypto-wq - KCONFIG:= CONFIG_CRYPTO_BLKCIPHER2 - FILES:= \ - $(LINUX_DIR)/crypto/eseqiv.ko \ - $(LINUX_DIR)/crypto/chainiv.ko - AUTOLOAD:=$(call AutoLoad,10,eseqiv chainiv) +define KernelPackage/crypto-cts + TITLE:=Cipher Text Stealing CryptoAPI module + DEPENDS:=+kmod-crypto-manager + KCONFIG:=CONFIG_CRYPTO_CTS + FILES:=$(LINUX_DIR)/crypto/cts.ko + AUTOLOAD:=$(call AutoLoad,09,cts) $(call AddDepends/crypto) endef -$(eval $(call KernelPackage,crypto-iv)) +$(eval $(call KernelPackage,crypto-cts)) -define KernelPackage/crypto-hw-talitos - TITLE:=Freescale integrated security engine (SEC) driver - DEPENDS:=+kmod-crypto-aes +kmod-crypto-manager +kmod-crypto-hash +kmod-random-core - KCONFIG:= \ - CONFIG_CRYPTO_DEV_TALITOS - FILES:= \ - $(LINUX_DIR)/drivers/crypto/talitos.ko - AUTOLOAD:=$(call AutoLoad,09,talitos) +define KernelPackage/crypto-deflate + TITLE:=Deflate compression CryptoAPI module + DEPENDS:=+kmod-lib-zlib-inflate +kmod-lib-zlib-deflate +!(LINUX_3_18||LINUX_4_9):kmod-crypto-acompress + KCONFIG:=CONFIG_CRYPTO_DEFLATE + FILES:=$(LINUX_DIR)/crypto/deflate.ko + AUTOLOAD:=$(call AutoLoad,09,deflate) $(call AddDepends/crypto) endef -$(eval $(call KernelPackage,crypto-hw-talitos)) +$(eval $(call KernelPackage,crypto-deflate)) -define KernelPackage/crypto-hw-padlock - TITLE:=VIA PadLock ACE with AES/SHA hw crypto module - DEPENDS:=+kmod-crypto-aes +kmod-crypto-manager - KCONFIG:= \ - CONFIG_CRYPTO_DEV_PADLOCK \ - CONFIG_CRYPTO_DEV_PADLOCK_AES \ - CONFIG_CRYPTO_DEV_PADLOCK_SHA - FILES:= \ - $(LINUX_DIR)/drivers/crypto/padlock-aes.ko \ - $(LINUX_DIR)/drivers/crypto/padlock-sha.ko - AUTOLOAD:=$(call AutoLoad,09,padlock-aes padlock-sha) +define KernelPackage/crypto-des + TITLE:=DES/3DES cipher CryptoAPI module + KCONFIG:=CONFIG_CRYPTO_DES + FILES:=$(LINUX_DIR)/crypto/des_generic.ko + AUTOLOAD:=$(call AutoLoad,09,des_generic) $(call AddDepends/crypto) endef -$(eval $(call KernelPackage,crypto-hw-padlock)) +$(eval $(call KernelPackage,crypto-des)) -define KernelPackage/crypto-hw-geode - TITLE:=AMD Geode hardware crypto module +define KernelPackage/crypto-ecb + TITLE:=Electronic CodeBook CryptoAPI module DEPENDS:=+kmod-crypto-manager - KCONFIG:= \ - CONFIG_CRYPTO_DEV_GEODE - FILES:=$(LINUX_DIR)/drivers/crypto/geode-aes.ko - AUTOLOAD:=$(call AutoLoad,09,geode-aes) + KCONFIG:=CONFIG_CRYPTO_ECB + FILES:=$(LINUX_DIR)/crypto/ecb.ko + AUTOLOAD:=$(call AutoLoad,09,ecb) $(call AddDepends/crypto) endef -$(eval $(call KernelPackage,crypto-hw-geode)) +$(eval $(call KernelPackage,crypto-ecb)) -define KernelPackage/crypto-hw-hifn-795x - TITLE:=HIFN 795x crypto accelerator - DEPENDS:=+kmod-random-core +kmod-crypto-manager - KCONFIG:= \ - CONFIG_CRYPTO_DEV_HIFN_795X \ - CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y - FILES:=$(LINUX_DIR)/drivers/crypto/hifn_795x.ko - AUTOLOAD:=$(call AutoLoad,09,hifn_795x) - $(call AddDepends/crypto,+kmod-crypto-des) +define KernelPackage/crypto-ecdh + TITLE:=ECDH algorithm + DEPENDS:=@!LINUX_3_18 +kmod-crypto-kpp + KCONFIG:= CONFIG_CRYPTO_ECDH + FILES:= \ + $(LINUX_DIR)/crypto/ecdh_generic.ko + AUTOLOAD:=$(call AutoLoad,10,ecdh_generic) + $(call AddDepends/crypto) endef -$(eval $(call KernelPackage,crypto-hw-hifn-795x)) +$(eval $(call KernelPackage,crypto-ecdh)) -define KernelPackage/crypto-hw-ppc4xx - TITLE:=AMCC PPC4xx hardware crypto module - DEPENDS:=@TARGET_ppc40x||TARGET_ppc44x - KCONFIG:= \ - CONFIG_CRYPTO_DEV_PPC4XX - FILES:=$(LINUX_DIR)/drivers/crypto/amcc/crypto4xx.ko - AUTOLOAD:=$(call AutoLoad,90,crypto4xx) - $(call AddDepends/crypto,+kmod-crypto-manager +kmod-crypto-hash) +define KernelPackage/crypto-echainiv + TITLE:=Encrypted Chain IV Generator + DEPENDS:=+kmod-crypto-aead + KCONFIG:=CONFIG_CRYPTO_ECHAINIV + FILES:=$(LINUX_DIR)/crypto/echainiv.ko + AUTOLOAD:=$(call AutoLoad,09,echainiv) + $(call AddDepends/crypto) endef -define KernelPackage/crypto-hw-ppc4xx/description - Kernel support for the AMCC PPC4xx HW crypto engine. +$(eval $(call KernelPackage,crypto-echainiv)) + + +define KernelPackage/crypto-fcrypt + TITLE:=FCRYPT cipher CryptoAPI module + KCONFIG:=CONFIG_CRYPTO_FCRYPT + FILES:=$(LINUX_DIR)/crypto/fcrypt.ko + AUTOLOAD:=$(call AutoLoad,09,fcrypt) + $(call AddDepends/crypto) endef -$(eval $(call KernelPackage,crypto-hw-ppc4xx)) +$(eval $(call KernelPackage,crypto-fcrypt)) -define KernelPackage/crypto-hw-omap - TITLE:=TI OMAP hardware crypto modules - DEPENDS:=@TARGET_omap4 - KCONFIG:= \ - CONFIG_CRYPTO_DEV_OMAP_AES \ - CONFIG_CRYPTO_DEV_OMAP_DES \ - CONFIG_CRYPTO_DEV_OMAP_SHAM - FILES:= \ - $(LINUX_DIR)/drivers/crypto/omap-aes.ko \ - $(LINUX_DIR)/drivers/crypto/omap-des.ko \ - $(LINUX_DIR)/drivers/crypto/omap-sham.ko - AUTOLOAD:=$(call AutoLoad,90,omap-aes omap-des omap-sham) - $(call AddDepends/crypto,+kmod-crypto-manager +kmod-crypto-hash) +define KernelPackage/crypto-gcm + TITLE:=GCM/GMAC CryptoAPI module + DEPENDS:=+kmod-crypto-ctr +kmod-crypto-ghash +kmod-crypto-null + KCONFIG:=CONFIG_CRYPTO_GCM + FILES:=$(LINUX_DIR)/crypto/gcm.ko + AUTOLOAD:=$(call AutoLoad,09,gcm) + $(call AddDepends/crypto) endef -define KernelPackage/crypto-hw-omap/description - Kernel support for the TI OMAP HW crypto engine. +$(eval $(call KernelPackage,crypto-gcm)) + + +define KernelPackage/crypto-xcbc + TITLE:=XCBC CryptoAPI module + DEPENDS:=+kmod-crypto-hash +kmod-crypto-manager + KCONFIG:=CONFIG_CRYPTO_XCBC + FILES:=$(LINUX_DIR)/crypto/xcbc.ko + AUTOLOAD:=$(call AutoLoad,09,xcbc) + $(call AddDepends/crypto) endef -$(eval $(call KernelPackage,crypto-hw-omap)) +$(eval $(call KernelPackage,crypto-xcbc)) -define KernelPackage/crypto-aes - TITLE:=AES cipher CryptoAPI module - KCONFIG:=CONFIG_CRYPTO_AES CONFIG_CRYPTO_AES_586 - FILES:=$(LINUX_DIR)/crypto/aes_generic.ko - AUTOLOAD:=$(call AutoLoad,09,aes_generic) +define KernelPackage/crypto-gf128 + TITLE:=GF(2^128) multiplication functions CryptoAPI module + KCONFIG:=CONFIG_CRYPTO_GF128MUL + FILES:=$(LINUX_DIR)/crypto/gf128mul.ko + AUTOLOAD:=$(call AutoLoad,09,gf128mul) $(call AddDepends/crypto) endef -define KernelPackage/crypto-aes/x86 - FILES+=$(LINUX_DIR)/arch/x86/crypto/aes-i586.ko - AUTOLOAD:=$(call AutoLoad,09,aes-i586) +$(eval $(call KernelPackage,crypto-gf128)) + + +define KernelPackage/crypto-ghash + TITLE:=GHASH digest CryptoAPI module + DEPENDS:=+kmod-crypto-gf128 +kmod-crypto-hash + KCONFIG:=CONFIG_CRYPTO_GHASH + FILES:=$(LINUX_DIR)/crypto/ghash-generic.ko + AUTOLOAD:=$(call AutoLoad,09,ghash-generic) + $(call AddDepends/crypto) endef -$(eval $(call KernelPackage,crypto-aes)) +$(eval $(call KernelPackage,crypto-ghash)) -define KernelPackage/crypto-arc4 - TITLE:=ARC4 (RC4) cipher CryptoAPI module - KCONFIG:=CONFIG_CRYPTO_ARC4 - FILES:=$(LINUX_DIR)/crypto/arc4.ko - AUTOLOAD:=$(call AutoLoad,09,arc4) - $(call AddDepends/crypto,+!LINUX_3_3:kmod-crypto-manager) +define KernelPackage/crypto-hash + TITLE:=CryptoAPI hash support + KCONFIG:=CONFIG_CRYPTO_HASH + FILES:=$(LINUX_DIR)/crypto/crypto_hash.ko + AUTOLOAD:=$(call AutoLoad,02,crypto_hash,1) + $(call AddDepends/crypto) endef -$(eval $(call KernelPackage,crypto-arc4)) +$(eval $(call KernelPackage,crypto-hash)) -define KernelPackage/crypto-authenc - TITLE:=Combined mode wrapper for IPsec - DEPENDS:=+kmod-crypto-manager - KCONFIG:=CONFIG_CRYPTO_AUTHENC - FILES:=$(LINUX_DIR)/crypto/authenc.ko - AUTOLOAD:=$(call AutoLoad,09,authenc) +define KernelPackage/crypto-hmac + TITLE:=HMAC digest CryptoAPI module + DEPENDS:=+kmod-crypto-hash +kmod-crypto-manager + KCONFIG:=CONFIG_CRYPTO_HMAC + FILES:=$(LINUX_DIR)/crypto/hmac.ko + AUTOLOAD:=$(call AutoLoad,09,hmac) $(call AddDepends/crypto) endef -$(eval $(call KernelPackage,crypto-authenc)) +$(eval $(call KernelPackage,crypto-hmac)) -define KernelPackage/crypto-cbc - TITLE:=Cipher Block Chaining CryptoAPI module + +define KernelPackage/crypto-hw-ccp + TITLE:=AMD Cryptographic Coprocessor + DEPENDS:=+kmod-crypto-authenc +kmod-crypto-hash +kmod-crypto-manager +kmod-random-core +kmod-crypto-sha1 +kmod-crypto-sha256 +!(LINUX_3_18||LINUX_4_9):kmod-crypto-rsa + KCONFIG:= \ + CONFIG_CRYPTO_HW=y \ + CONFIG_CRYPTO_DEV_CCP=y \ + CONFIG_CRYPTO_DEV_CCP_CRYPTO \ + CONFIG_CRYPTO_DEV_CCP_DD \ + CONFIG_CRYPTO_DEV_SP_CCP=y + FILES:= \ + $(LINUX_DIR)/drivers/crypto/ccp/ccp.ko \ + $(LINUX_DIR)/drivers/crypto/ccp/ccp-crypto.ko + AUTOLOAD:=$(call AutoLoad,09,ccp ccp-crypto) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-hw-ccp)) + + +define KernelPackage/crypto-hw-geode + TITLE:=AMD Geode hardware crypto module DEPENDS:=+kmod-crypto-manager - KCONFIG:=CONFIG_CRYPTO_CBC - FILES:=$(LINUX_DIR)/crypto/cbc.ko - AUTOLOAD:=$(call AutoLoad,09,cbc) + KCONFIG:= \ + CONFIG_CRYPTO_HW=y \ + CONFIG_CRYPTO_DEV_GEODE + FILES:=$(LINUX_DIR)/drivers/crypto/geode-aes.ko + AUTOLOAD:=$(call AutoLoad,09,geode-aes) $(call AddDepends/crypto) endef -$(eval $(call KernelPackage,crypto-cbc)) +$(eval $(call KernelPackage,crypto-hw-geode)) -define KernelPackage/crypto-crc32c - TITLE:=CRC32c CRC module - DEPENDS:=+kmod-crypto-hash - KCONFIG:=CONFIG_CRYPTO_CRC32C - FILES:=$(LINUX_DIR)/crypto/crc32c.ko - AUTOLOAD:=$(call AutoLoad,04,crc32c,1) + +define KernelPackage/crypto-hw-hifn-795x + TITLE:=HIFN 795x crypto accelerator + DEPENDS:=+kmod-random-core +kmod-crypto-manager + KCONFIG:= \ + CONFIG_CRYPTO_HW=y \ + CONFIG_CRYPTO_DEV_HIFN_795X \ + CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y + FILES:=$(LINUX_DIR)/drivers/crypto/hifn_795x.ko + AUTOLOAD:=$(call AutoLoad,09,hifn_795x) + $(call AddDepends/crypto,+kmod-crypto-des) +endef + +$(eval $(call KernelPackage,crypto-hw-hifn-795x)) + + +define KernelPackage/crypto-hw-padlock + TITLE:=VIA PadLock ACE with AES/SHA hw crypto module + DEPENDS:=+kmod-crypto-manager + KCONFIG:= \ + CONFIG_CRYPTO_HW=y \ + CONFIG_CRYPTO_DEV_PADLOCK \ + CONFIG_CRYPTO_DEV_PADLOCK_AES \ + CONFIG_CRYPTO_DEV_PADLOCK_SHA + FILES:= \ + $(LINUX_DIR)/drivers/crypto/padlock-aes.ko \ + $(LINUX_DIR)/drivers/crypto/padlock-sha.ko + AUTOLOAD:=$(call AutoLoad,09,padlock-aes padlock-sha) $(call AddDepends/crypto) endef -$(eval $(call KernelPackage,crypto-crc32c)) +$(eval $(call KernelPackage,crypto-hw-padlock)) -define KernelPackage/crypto-des - TITLE:=DES/3DES cipher CryptoAPI module - KCONFIG:=CONFIG_CRYPTO_DES - FILES:=$(LINUX_DIR)/crypto/des_generic.ko - AUTOLOAD:=$(call AutoLoad,09,des_generic) +define KernelPackage/crypto-hw-talitos + TITLE:=Freescale integrated security engine (SEC) driver + DEPENDS:=+kmod-crypto-manager +kmod-crypto-hash +kmod-random-core +kmod-crypto-authenc +kmod-crypto-des + KCONFIG:= \ + CONFIG_CRYPTO_HW=y \ + CONFIG_CRYPTO_DEV_TALITOS \ + CONFIG_CRYPTO_DEV_TALITOS1=y \ + CONFIG_CRYPTO_DEV_TALITOS2=y + FILES:= \ + $(LINUX_DIR)/drivers/crypto/talitos.ko + AUTOLOAD:=$(call AutoLoad,09,talitos) $(call AddDepends/crypto) endef -$(eval $(call KernelPackage,crypto-des)) +$(eval $(call KernelPackage,crypto-hw-talitos)) -define KernelPackage/crypto-deflate - TITLE:=Deflate compression CryptoAPI module - DEPENDS:=+kmod-lib-zlib - KCONFIG:=CONFIG_CRYPTO_DEFLATE - FILES:=$(LINUX_DIR)/crypto/deflate.ko - AUTOLOAD:=$(call AutoLoad,09,deflate) +define KernelPackage/crypto-iv + TITLE:=CryptoAPI initialization vectors + DEPENDS:=+kmod-crypto-manager +kmod-crypto-rng +kmod-crypto-wq + KCONFIG:= CONFIG_CRYPTO_BLKCIPHER2 + HIDDEN:=1 + FILES:= \ + $(LINUX_DIR)/crypto/eseqiv.ko@lt4.9 \ + $(LINUX_DIR)/crypto/chainiv.ko@lt4.9 + AUTOLOAD:=$(call AutoLoad,10,eseqiv chainiv) $(call AddDepends/crypto) endef -$(eval $(call KernelPackage,crypto-deflate)) +$(eval $(call KernelPackage,crypto-iv)) -define KernelPackage/crypto-ecb - TITLE:=Electronic CodeBook CryptoAPI module - DEPENDS:=+kmod-crypto-manager - KCONFIG:=CONFIG_CRYPTO_ECB - FILES:=$(LINUX_DIR)/crypto/ecb.ko - AUTOLOAD:=$(call AutoLoad,09,ecb) +define KernelPackage/crypto-kpp + TITLE:=Key-agreement Protocol Primitives + KCONFIG:=CONFIG_CRYPTO_KPP + HIDDEN:=1 + FILES:=$(LINUX_DIR)/crypto/kpp.ko + AUTOLOAD:=$(call AutoLoad,09,kpp) $(call AddDepends/crypto) endef -$(eval $(call KernelPackage,crypto-ecb)) +$(eval $(call KernelPackage,crypto-kpp)) -define KernelPackage/crypto-hmac - TITLE:=HMAC digest CryptoAPI module - DEPENDS:=+kmod-crypto-hash - KCONFIG:=CONFIG_CRYPTO_HMAC - FILES:=$(LINUX_DIR)/crypto/hmac.ko - DEPENDS:=+kmod-crypto-manager - AUTOLOAD:=$(call AutoLoad,09,hmac) +define KernelPackage/crypto-manager + TITLE:=CryptoAPI algorithm manager + DEPENDS:=+kmod-crypto-aead +kmod-crypto-hash +kmod-crypto-pcompress + KCONFIG:= \ + CONFIG_CRYPTO_MANAGER \ + CONFIG_CRYPTO_MANAGER2 + FILES:=$(LINUX_DIR)/crypto/cryptomgr.ko + AUTOLOAD:=$(call AutoLoad,09,cryptomgr,1) $(call AddDepends/crypto) endef -$(eval $(call KernelPackage,crypto-hmac)) +$(eval $(call KernelPackage,crypto-manager)) define KernelPackage/crypto-md4 @@ -351,12 +423,19 @@ $(eval $(call KernelPackage,crypto-md4)) define KernelPackage/crypto-md5 TITLE:=MD5 digest CryptoAPI module DEPENDS:=+kmod-crypto-hash - KCONFIG:=CONFIG_CRYPTO_MD5 + KCONFIG:= \ + CONFIG_CRYPTO_MD5 \ + CONFIG_CRYPTO_MD5_OCTEON FILES:=$(LINUX_DIR)/crypto/md5.ko AUTOLOAD:=$(call AutoLoad,09,md5) $(call AddDepends/crypto) endef +define KernelPackage/crypto-md5/octeon + FILES+=$(LINUX_DIR)/arch/mips/cavium-octeon/crypto/octeon-md5.ko + AUTOLOAD+=$(call AutoLoad,09,octeon-md5) +endef + $(eval $(call KernelPackage,crypto-md5)) @@ -372,41 +451,23 @@ endef $(eval $(call KernelPackage,crypto-michael-mic)) -define KernelPackage/crypto-sha1 - TITLE:=SHA1 digest CryptoAPI module - DEPENDS:=+kmod-crypto-hash - KCONFIG:=CONFIG_CRYPTO_SHA1 - FILES:=$(LINUX_DIR)/crypto/sha1_generic.ko - AUTOLOAD:=$(call AutoLoad,09,sha1_generic) - $(call AddDepends/crypto) -endef - -$(eval $(call KernelPackage,crypto-sha1)) - - -define KernelPackage/crypto-sha256 - TITLE:=SHA224 SHA256 digest CryptoAPI module - DEPENDS:=+kmod-crypto-hash - KCONFIG:=CONFIG_CRYPTO_SHA256 - FILES:=$(LINUX_DIR)/crypto/sha256_generic.ko - AUTOLOAD:=$(call AutoLoad,09,sha256_generic) - $(call AddDepends/crypto) -endef - -$(eval $(call KernelPackage,crypto-sha256)) - - -ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.6.0)),1) -camellia_mod_suffix=_generic -endif -ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.7.0)),1) -cast56_mod_suffix=_generic -endif - define KernelPackage/crypto-misc TITLE:=Other CryptoAPI modules - DEPENDS:=+kmod-crypto-manager + DEPENDS:=+kmod-crypto-xts KCONFIG:= \ + CONFIG_CRYPTO_CAMELLIA_X86_64 \ + CONFIG_CRYPTO_BLOWFISH_X86_64 \ + CONFIG_CRYPTO_TWOFISH_X86_64 \ + CONFIG_CRYPTO_TWOFISH_X86_64_3WAY \ + CONFIG_CRYPTO_SERPENT_SSE2_X86_64 \ + CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64 \ + CONFIG_CRYPTO_CAST5_AVX_X86_64 \ + CONFIG_CRYPTO_CAST6_AVX_X86_64 \ + CONFIG_CRYPTO_TWOFISH_AVX_X86_64 \ + CONFIG_CRYPTO_SERPENT_AVX_X86_64 \ + CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64 \ + CONFIG_CRYPTO_SERPENT_AVX2_X86_64 \ + CONFIG_CRYPTO_SERPENT_SSE2_586 \ CONFIG_CRYPTO_ANUBIS \ CONFIG_CRYPTO_BLOWFISH \ CONFIG_CRYPTO_CAMELLIA \ @@ -415,7 +476,6 @@ define KernelPackage/crypto-misc CONFIG_CRYPTO_FCRYPT \ CONFIG_CRYPTO_KHAZAD \ CONFIG_CRYPTO_SERPENT \ - CONFIG_CRYPTO_SHA512 \ CONFIG_CRYPTO_TEA \ CONFIG_CRYPTO_TGR192 \ CONFIG_CRYPTO_TWOFISH \ @@ -424,13 +484,11 @@ define KernelPackage/crypto-misc CONFIG_CRYPTO_WP512 FILES:= \ $(LINUX_DIR)/crypto/anubis.ko \ - $(LINUX_DIR)/crypto/camellia$(camellia_mod_suffix).ko \ - $(if $(call kernel_patchver_ge,3.7),$(LINUX_DIR)/crypto/cast_common.ko) \ - $(LINUX_DIR)/crypto/cast5$(cast56_mod_suffix).ko \ - $(LINUX_DIR)/crypto/cast6$(cast56_mod_suffix).ko \ - $(LINUX_DIR)/crypto/fcrypt.ko \ + $(LINUX_DIR)/crypto/camellia_generic.ko \ + $(LINUX_DIR)/crypto/cast_common.ko \ + $(LINUX_DIR)/crypto/cast5_generic.ko \ + $(LINUX_DIR)/crypto/cast6_generic.ko \ $(LINUX_DIR)/crypto/khazad.ko \ - $(LINUX_DIR)/crypto/sha512_generic.ko \ $(LINUX_DIR)/crypto/tea.ko \ $(LINUX_DIR)/crypto/tgr192.ko \ $(LINUX_DIR)/crypto/twofish_common.ko \ @@ -439,73 +497,213 @@ define KernelPackage/crypto-misc $(LINUX_DIR)/crypto/blowfish_common.ko \ $(LINUX_DIR)/crypto/blowfish_generic.ko \ $(LINUX_DIR)/crypto/serpent_generic.ko + AUTOLOAD:=$(call AutoLoad,10,anubis camellia_generic cast_common \ + cast5_generic cast6_generic khazad tea tgr192 twofish_common \ + wp512 blowfish_common serpent_generic) + ifndef CONFIG_TARGET_x86 + AUTOLOAD+= $(call AutoLoad,10,twofish_generic blowfish_generic) + endif $(call AddDepends/crypto) endef -define KernelPackage/crypto-misc/x86 - FILES+=$(LINUX_DIR)/arch/x86/crypto/twofish-i586.ko +ifndef CONFIG_TARGET_x86_64 + define KernelPackage/crypto-misc/x86 + FILES+= \ + $(LINUX_DIR)/arch/x86/crypto/twofish-i586.ko \ + $(LINUX_DIR)/arch/x86/crypto/serpent-sse2-i586.ko \ + $(LINUX_DIR)/arch/x86/crypto/glue_helper.ko \ + $(LINUX_DIR)/crypto/ablk_helper.ko@lt4.17 \ + $(LINUX_DIR)/crypto/cryptd.ko \ + $(LINUX_DIR)/crypto/lrw.ko@lt4.17 \ + $(LINUX_DIR)/crypto/crypto_simd.ko@ge4.17 + AUTOLOAD+= $(call AutoLoad,10,cryptd glue_helper \ + serpent-sse2-i586 twofish-i586 blowfish_generic) + endef +endif + +define KernelPackage/crypto-misc/x86/64 + FILES+= \ + $(LINUX_DIR)/arch/x86/crypto/camellia-x86_64.ko \ + $(LINUX_DIR)/arch/x86/crypto/blowfish-x86_64.ko \ + $(LINUX_DIR)/arch/x86/crypto/twofish-x86_64.ko \ + $(LINUX_DIR)/arch/x86/crypto/twofish-x86_64-3way.ko \ + $(LINUX_DIR)/arch/x86/crypto/serpent-sse2-x86_64.ko \ + $(LINUX_DIR)/arch/x86/crypto/camellia-aesni-avx-x86_64.ko \ + $(LINUX_DIR)/arch/x86/crypto/cast5-avx-x86_64.ko \ + $(LINUX_DIR)/arch/x86/crypto/cast6-avx-x86_64.ko \ + $(LINUX_DIR)/arch/x86/crypto/twofish-avx-x86_64.ko \ + $(LINUX_DIR)/arch/x86/crypto/serpent-avx-x86_64.ko \ + $(LINUX_DIR)/arch/x86/crypto/camellia-aesni-avx2.ko \ + $(LINUX_DIR)/arch/x86/crypto/serpent-avx2.ko \ + $(LINUX_DIR)/crypto/ablk_helper.ko@lt4.17 + AUTOLOAD+= $(call AutoLoad,10,camellia-x86_64 \ + camellia-aesni-avx-x86_64 camellia-aesni-avx2 cast5-avx-x86_64 \ + cast6-avx-x86_64 twofish-x86_64 twofish-x86_64-3way \ + twofish-avx-x86_64 blowfish-x86_64 serpent-avx-x86_64 serpent-avx2) endef $(eval $(call KernelPackage,crypto-misc)) -define KernelPackage/crypto-ocf - TITLE:=OCF modules - DEPENDS:=+@OPENSSL_ENGINE_CRYPTO @!TARGET_uml +kmod-crypto-manager +define KernelPackage/crypto-null + TITLE:=Null CryptoAPI module + KCONFIG:=CONFIG_CRYPTO_NULL + FILES:=$(LINUX_DIR)/crypto/crypto_null.ko + AUTOLOAD:=$(call AutoLoad,09,crypto_null) + $(call AddDepends/crypto, +kmod-crypto-hash) +endef + +$(eval $(call KernelPackage,crypto-null)) + + +define KernelPackage/crypto-pcbc + TITLE:=Propagating Cipher Block Chaining CryptoAPI module + DEPENDS:=+kmod-crypto-manager + KCONFIG:=CONFIG_CRYPTO_PCBC + FILES:=$(LINUX_DIR)/crypto/pcbc.ko + AUTOLOAD:=$(call AutoLoad,09,pcbc) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-pcbc)) + + +define KernelPackage/crypto-pcompress + TITLE:=CryptoAPI Partial (de)compression operations KCONFIG:= \ - CONFIG_OCF_OCF \ - CONFIG_OCF_CRYPTODEV \ - CONFIG_OCF_CRYPTOSOFT \ - CONFIG_OCF_FIPS=y \ - CONFIG_OCF_RANDOMHARVEST=y + CONFIG_CRYPTO_PCOMP=y \ + CONFIG_CRYPTO_PCOMP2 + FILES:=$(LINUX_DIR)/crypto/pcompress.ko + AUTOLOAD:=$(call AutoLoad,09,pcompress) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-pcompress)) + + +define KernelPackage/crypto-rsa + TITLE:=RSA algorithm + DEPENDS:=@!LINUX_3_18 +kmod-crypto-manager +kmod-asn1-decoder + KCONFIG:= CONFIG_CRYPTO_RSA + HIDDEN:=1 FILES:= \ - $(LINUX_DIR)/crypto/ocf/ocf.ko \ - $(LINUX_DIR)/crypto/ocf/cryptodev.ko \ - $(LINUX_DIR)/crypto/ocf/cryptosoft.ko - AUTOLOAD:=$(call AutoLoad,09, \ - ocf \ - cryptodev \ - cryptosoft \ - ) + $(LINUX_DIR)/lib/mpi/mpi.ko \ + $(LINUX_DIR)/crypto/akcipher.ko \ + $(LINUX_DIR)/crypto/rsa_generic.ko + AUTOLOAD:=$(call AutoLoad,10,rsa_generic) $(call AddDepends/crypto) endef -$(eval $(call KernelPackage,crypto-ocf)) +$(eval $(call KernelPackage,crypto-rsa)) -define KernelPackage/crypto-ocf-hifn7751 - TITLE:=OCF support for Hifn 6500/7751/7811/795x, Invertex AEON and NetSec 7751 devices - DEPENDS:=+@OPENSSL_ENGINE_CRYPTO @PCI_SUPPORT @!TARGET_uml kmod-crypto-ocf - KCONFIG:=CONFIG_OCF_HIFN - FILES:=$(LINUX_DIR)/crypto/ocf/hifn/hifn7751.ko - AUTOLOAD:=$(call AutoLoad,10,hifn7751) +define KernelPackage/crypto-rng + TITLE:=CryptoAPI random number generation + DEPENDS:=+kmod-crypto-hash +kmod-crypto-hmac +kmod-crypto-sha256 + KCONFIG:= \ + CONFIG_CRYPTO_DRBG \ + CONFIG_CRYPTO_DRBG_HMAC=y \ + CONFIG_CRYPTO_DRBG_HASH=n \ + CONFIG_CRYPTO_DRBG_MENU \ + CONFIG_CRYPTO_JITTERENTROPY \ + CONFIG_CRYPTO_RNG2 + FILES:= \ + $(LINUX_DIR)/crypto/drbg.ko@ge4.2 \ + $(LINUX_DIR)/crypto/jitterentropy_rng.ko@ge4.2 \ + $(LINUX_DIR)/crypto/krng.ko@lt4.2 \ + $(LINUX_DIR)/crypto/rng.ko + AUTOLOAD:=$(call AutoLoad,09,drbg@ge4.2 jitterentropy_rng@ge4.2 krng@lt4.2 rng) $(call AddDepends/crypto) endef -$(eval $(call KernelPackage,crypto-ocf-hifn7751)) +$(eval $(call KernelPackage,crypto-rng)) -define KernelPackage/crypto-ocf-hifnhipp - TITLE:=OCF support for Hifn 7855/8155 devices - DEPENDS:=+@OPENSSL_ENGINE_CRYPTO @PCI_SUPPORT @!TARGET_uml kmod-crypto-ocf - KCONFIG:=CONFIG_OCF_HIFNHIPP - FILES:=$(LINUX_DIR)/crypto/ocf/hifn/hifnHIPP.ko - AUTOLOAD:=$(call AutoLoad,10,hifnHIPP) +define KernelPackage/crypto-seqiv + TITLE:=CryptoAPI Sequence Number IV Generator + DEPENDS:=+kmod-crypto-aead +kmod-crypto-rng + KCONFIG:=CONFIG_CRYPTO_SEQIV + FILES:=$(LINUX_DIR)/crypto/seqiv.ko + AUTOLOAD:=$(call AutoLoad,09,seqiv) $(call AddDepends/crypto) endef -$(eval $(call KernelPackage,crypto-ocf-hifnhipp)) +$(eval $(call KernelPackage,crypto-seqiv)) -define KernelPackage/crypto-null - TITLE:=Null CryptoAPI module - KCONFIG:=CONFIG_CRYPTO_NULL - FILES:=$(LINUX_DIR)/crypto/crypto_null.ko - AUTOLOAD:=$(call AutoLoad,09,crypto_null) - $(call AddDepends/crypto,+kmod-crypto-manager) +define KernelPackage/crypto-sha1 + TITLE:=SHA1 digest CryptoAPI module + DEPENDS:=+kmod-crypto-hash + KCONFIG:= \ + CONFIG_CRYPTO_SHA1 \ + CONFIG_CRYPTO_SHA1_OCTEON \ + CONFIG_CRYPTO_SHA1_SSSE3 + FILES:=$(LINUX_DIR)/crypto/sha1_generic.ko + AUTOLOAD:=$(call AutoLoad,09,sha1_generic) + $(call AddDepends/crypto) endef -$(eval $(call KernelPackage,crypto-null)) +define KernelPackage/crypto-sha1/octeon + FILES+=$(LINUX_DIR)/arch/mips/cavium-octeon/crypto/octeon-sha1.ko + AUTOLOAD+=$(call AutoLoad,09,octeon-sha1) +endef + +define KernelPackage/crypto-sha1/x86/64 + FILES+=$(LINUX_DIR)/arch/x86/crypto/sha1-ssse3.ko + AUTOLOAD+=$(call AutoLoad,09,sha1-ssse3) +endef + +$(eval $(call KernelPackage,crypto-sha1)) + + +define KernelPackage/crypto-sha256 + TITLE:=SHA224 SHA256 digest CryptoAPI module + DEPENDS:=+kmod-crypto-hash + KCONFIG:= \ + CONFIG_CRYPTO_SHA256 \ + CONFIG_CRYPTO_SHA256_OCTEON \ + CONFIG_CRYPTO_SHA256_SSSE3 + FILES:=$(LINUX_DIR)/crypto/sha256_generic.ko + AUTOLOAD:=$(call AutoLoad,09,sha256_generic) + $(call AddDepends/crypto) +endef + +define KernelPackage/crypto-sha256/octeon + FILES+=$(LINUX_DIR)/arch/mips/cavium-octeon/crypto/octeon-sha256.ko + AUTOLOAD+=$(call AutoLoad,09,octeon-sha256) +endef + +define KernelPackage/crypto-sha256/x86/64 + FILES+=$(LINUX_DIR)/arch/x86/crypto/sha256-ssse3.ko + AUTOLOAD+=$(call AutoLoad,09,sha256-ssse3) +endef + +$(eval $(call KernelPackage,crypto-sha256)) + + +define KernelPackage/crypto-sha512 + TITLE:=SHA512 digest CryptoAPI module + DEPENDS:=+kmod-crypto-hash + KCONFIG:= \ + CONFIG_CRYPTO_SHA512 \ + CONFIG_CRYPTO_SHA512_OCTEON \ + CONFIG_CRYPTO_SHA512_SSSE3 + FILES:=$(LINUX_DIR)/crypto/sha512_generic.ko + AUTOLOAD:=$(call AutoLoad,09,sha512_generic) + $(call AddDepends/crypto) +endef + +define KernelPackage/crypto-sha512/octeon + FILES+=$(LINUX_DIR)/arch/mips/cavium-octeon/crypto/octeon-sha512.ko + AUTOLOAD+=$(call AutoLoad,09,octeon-sha512) +endef + +define KernelPackage/crypto-sha512/x86/64 + FILES+=$(LINUX_DIR)/arch/x86/crypto/sha512-ssse3.ko + AUTOLOAD+=$(call AutoLoad,09,sha512-ssse3) +endef + +$(eval $(call KernelPackage,crypto-sha512)) define KernelPackage/crypto-test @@ -518,32 +716,42 @@ endef $(eval $(call KernelPackage,crypto-test)) -define KernelPackage/crypto-xts - TITLE:=XTS cipher CryptoAPI module - DEPENDS:=+kmod-crypto-manager +define KernelPackage/crypto-user + TITLE:=CryptoAPI userspace interface + DEPENDS:=+kmod-crypto-hash +kmod-crypto-manager KCONFIG:= \ - CONFIG_CRYPTO_GF128MUL \ - CONFIG_CRYPTO_XTS + CONFIG_CRYPTO_USER_API \ + CONFIG_CRYPTO_USER_API_HASH \ + CONFIG_CRYPTO_USER_API_SKCIPHER FILES:= \ - $(LINUX_DIR)/crypto/xts.ko \ - $(LINUX_DIR)/crypto/gf128mul.ko - AUTOLOAD:=$(call AutoLoad,09, \ - gf128mul \ - xts \ - ) + $(LINUX_DIR)/crypto/af_alg.ko \ + $(LINUX_DIR)/crypto/algif_hash.ko \ + $(LINUX_DIR)/crypto/algif_skcipher.ko + AUTOLOAD:=$(call AutoLoad,09,af_alg algif_hash algif_skcipher) $(call AddDepends/crypto) endef -$(eval $(call KernelPackage,crypto-xts)) +$(eval $(call KernelPackage,crypto-user)) + + +define KernelPackage/crypto-wq + TITLE:=CryptoAPI work queue handling + KCONFIG:=CONFIG_CRYPTO_WORKQUEUE + FILES:=$(LINUX_DIR)/crypto/crypto_wq.ko + AUTOLOAD:=$(call AutoLoad,09,crypto_wq) + $(call AddDepends/crypto) +endef +$(eval $(call KernelPackage,crypto-wq)) -define KernelPackage/crypto-mv-cesa - TITLE:=Marvell crypto engine - DEPENDS:=+kmod-crypto-manager +kmod-crypto-aes @TARGET_kirkwood||TARGET_orion||TARGET_mvebu - KCONFIG:=CONFIG_CRYPTO_DEV_MV_CESA - FILES:=$(LINUX_DIR)/drivers/crypto/mv_cesa.ko - AUTOLOAD:=$(call AutoLoad,09,mv_cesa) +define KernelPackage/crypto-xts + TITLE:=XTS cipher CryptoAPI module + DEPENDS:=+kmod-crypto-gf128 +kmod-crypto-manager + KCONFIG:=CONFIG_CRYPTO_XTS + FILES:=$(LINUX_DIR)/crypto/xts.ko + AUTOLOAD:=$(call AutoLoad,09,xts) $(call AddDepends/crypto) endef -$(eval $(call KernelPackage,crypto-mv-cesa)) +$(eval $(call KernelPackage,crypto-xts)) +