ALGAPI2=crypto_algapi \
BLKCIPHER2=crypto_blkcipher
-CRYPTOMGR_MODULES = \
- AEAD2=aead \
- MANAGER2=cryptomgr \
-
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))))
DEPENDS+=+kmod-crypto-core $(1)
endef
+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,crypto_aead,1)
+ $(call AddDepends/crypto)
+endef
+
+$(eval $(call KernelPackage,crypto-aead))
+
+
define KernelPackage/crypto-hash
TITLE:=CryptoAPI hash support
KCONFIG:=CONFIG_CRYPTO_HASH
define KernelPackage/crypto-manager
TITLE:=CryptoAPI algorithm manager
- DEPENDS:=+kmod-crypto-hash +kmod-crypto-pcompress
+ DEPENDS:=+kmod-crypto-aead +kmod-crypto-hash +kmod-crypto-pcompress
KCONFIG:= \
- CONFIG_CRYPTO_AEAD \
CONFIG_CRYPTO_MANAGER \
- $(foreach mod,$(CRYPTOMGR_MODULES),$(call crypto_confvar,$(mod)))
- FILES:=$(foreach mod,$(CRYPTOMGR_MODULES),$(call crypto_file,$(mod)))
+ CONFIG_CRYPTO_MANAGER2
+ FILES:=$(LINUX_DIR)/crypto/cryptomgr.ko
$(call AddDepends/crypto)
endef
$(eval $(call KernelPackage,crypto-iv))
+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-seqiv))
+
define KernelPackage/crypto-hw-talitos
TITLE:=Freescale integrated security engine (SEC) driver
$(call AddDepends/crypto)
endef
-define KernelPackage/crypto-aes/x86
- FILES+=$(LINUX_DIR)/arch/x86/crypto/aes-i586.ko
- AUTOLOAD:=$(call AutoLoad,09,aes-i586)
-endef
+ifndef CONFIG_TARGET_x86_64
+ define KernelPackage/crypto-aes/x86
+ FILES+=$(LINUX_DIR)/arch/x86/crypto/aes-i586.ko
+ AUTOLOAD:=$(call AutoLoad,09,aes-i586)
+ endef
+endif
$(eval $(call KernelPackage,crypto-aes))
$(eval $(call KernelPackage,crypto-cbc))
+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-ctr))
+
+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-pcbc
TITLE:=Propagating Cipher Block Chaining CryptoAPI module
DEPENDS:=+kmod-crypto-manager
TITLE:=CRC32c CRC module
DEPENDS:=+kmod-crypto-hash
KCONFIG:=CONFIG_CRYPTO_CRC32C
-ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.15.0)),1)
FILES:=$(LINUX_DIR)/crypto/crc32c_generic.ko
AUTOLOAD:=$(call AutoLoad,04,crc32c_generic,1)
-else
- FILES:=$(LINUX_DIR)/crypto/crc32c.ko
- AUTOLOAD:=$(call AutoLoad,04,crc32c,1)
-endif
$(call AddDepends/crypto)
endef
$(eval $(call KernelPackage,crypto-hmac))
+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-cmac))
+
+
+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
+
+$(eval $(call KernelPackage,crypto-gcm))
+
+
+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
+
+$(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-ghash))
+
+
define KernelPackage/crypto-md4
TITLE:=MD4 digest CryptoAPI module
DEPENDS:=+kmod-crypto-hash
$(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
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/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 \
$(call AddDepends/crypto)
endef
-define KernelPackage/crypto-misc/x86
- FILES+=$(LINUX_DIR)/arch/x86/crypto/twofish-i586.ko
-endef
+ifndef CONFIG_TARGET_x86_64
+ define KernelPackage/crypto-misc/x86
+ FILES+=$(LINUX_DIR)/arch/x86/crypto/twofish-i586.ko
+ endef
+endif
$(eval $(call KernelPackage,crypto-misc))
define KernelPackage/crypto-xts
TITLE:=XTS cipher CryptoAPI module
- DEPENDS:=+kmod-crypto-manager
- KCONFIG:= \
- CONFIG_CRYPTO_GF128MUL \
- CONFIG_CRYPTO_XTS
- FILES:= \
- $(LINUX_DIR)/crypto/xts.ko \
- $(LINUX_DIR)/crypto/gf128mul.ko
- AUTOLOAD:=$(call AutoLoad,09, \
- gf128mul \
- xts \
- )
+ 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