TITLE:=CryptoAPI AEAD support
KCONFIG:= \
CONFIG_CRYPTO_AEAD \
- CONFIG_CRYPTO_AEAD2
+ CONFIG_CRYPTO_AEAD2 \
+ CONFIG_CRYPTO_GENIV@lt6.6
FILES:= \
$(LINUX_DIR)/crypto/aead.ko \
- $(LINUX_DIR)/crypto/geniv.ko
+ $(LINUX_DIR)/crypto/geniv.ko@lt6.6
AUTOLOAD:=$(call AutoLoad,09,aead,1)
$(call AddDepends/crypto, +kmod-crypto-null)
endef
define KernelPackage/crypto-ecdh
TITLE:=ECDH algorithm
- DEPENDS:=+kmod-crypto-kpp
+ DEPENDS:=+kmod-crypto-kpp +kmod-crypto-rng
KCONFIG:= CONFIG_CRYPTO_ECDH
FILES:= \
$(LINUX_DIR)/crypto/ecdh_generic.ko \
define KernelPackage/crypto-echainiv
TITLE:=Encrypted Chain IV Generator
- DEPENDS:=+kmod-crypto-aead
+ DEPENDS:=+kmod-crypto-aead +LINUX_6_6:kmod-crypto-geniv
KCONFIG:=CONFIG_CRYPTO_ECHAINIV
FILES:=$(LINUX_DIR)/crypto/echainiv.ko
AUTOLOAD:=$(call AutoLoad,09,echainiv)
$(eval $(call KernelPackage,crypto-hw-hifn-795x))
+define KernelPackage/crypto-hw-ixp4xx
+ TITLE:=Intel IXP4xx crypto accelerator
+ DEPENDS:=@TARGET_ixp4xx +kmod-random-core +kmod-crypto-manager +kmod-crypto-authenc +kmod-crypto-des
+ KCONFIG:= \
+ CONFIG_CRYPTO_HW=y \
+ CONFIG_CRYPTO_DEV_IXP4XX
+ FILES:=$(LINUX_DIR)/drivers/crypto/ixp4xx_crypto.ko
+ AUTOLOAD:=$(call AutoProbe,ixp4xx_crypto)
+ $(call AddDepends/crypto)
+endef
+
+$(eval $(call KernelPackage,crypto-hw-ixp4xx))
+
define KernelPackage/crypto-hw-padlock
TITLE:=VIA PadLock ACE with AES/SHA hw crypto module
KCONFIG:= CONFIG_CRYPTO_RSA
HIDDEN:=1
FILES:= \
- $(LINUX_DIR)/lib/mpi/mpi.ko \
+ $(LINUX_DIR)/lib/mpi/mpi.ko@lt6.5 \
+ $(LINUX_DIR)/lib/crypto/mpi/mpi.ko@ge6.5 \
$(LINUX_DIR)/crypto/akcipher.ko \
$(LINUX_DIR)/crypto/rsa_generic.ko
AUTOLOAD:=$(call AutoLoad,10,rsa_generic)
define KernelPackage/crypto-rng
TITLE:=CryptoAPI random number generation
- DEPENDS:=+kmod-crypto-hash +kmod-crypto-hmac +kmod-crypto-sha512
+ DEPENDS:=+kmod-crypto-hash +kmod-crypto-hmac +kmod-crypto-sha512 +LINUX_6_6:kmod-crypto-sha3
KCONFIG:= \
CONFIG_CRYPTO_DRBG \
CONFIG_CRYPTO_DRBG_HMAC=y \
$(eval $(call KernelPackage,crypto-rng))
+define KernelPackage/crypto-geniv
+ TITLE:=CryptoAPI Shared IV generator
+ HIDDEN:=1
+ DEPENDS:=+kmod-crypto-rng +kmod-crypto-aead @LINUX_6_6
+ KCONFIG:=CONFIG_CRYPTO_GENIV
+ FILES:=$(LINUX_DIR)/crypto/geniv.ko
+ AUTOLOAD:=$(call AutoLoad,09,geniv)
+ $(call AddDepends/crypto)
+endef
+
+$(eval $(call KernelPackage,crypto-geniv))
+
+
define KernelPackage/crypto-seqiv
TITLE:=CryptoAPI Sequence Number IV Generator
- DEPENDS:=+kmod-crypto-aead +kmod-crypto-rng
+ DEPENDS:=+kmod-crypto-aead +kmod-crypto-rng +LINUX_6_6:kmod-crypto-geniv
KCONFIG:=CONFIG_CRYPTO_SEQIV
FILES:=$(LINUX_DIR)/crypto/seqiv.ko
AUTOLOAD:=$(call AutoLoad,09,seqiv)
CONFIG_CRYPTO_SHA1 \
CONFIG_CRYPTO_SHA1_ARM \
CONFIG_CRYPTO_SHA1_ARM_NEON \
+ CONFIG_CRYPTO_SHA1_ARM64_CE \
CONFIG_CRYPTO_SHA1_OCTEON \
CONFIG_CRYPTO_SHA1_PPC_SPE \
CONFIG_CRYPTO_SHA1_SSSE3
AUTOLOAD+=$(call AutoLoad,09,sha1-arm-neon)
endef
+define KernelPackage/crypto-sha1/aarch64-ce
+ FILES+=$(LINUX_DIR)/arch/arm64/crypto/sha1-ce.ko
+ AUTOLOAD+=$(call AutoLoad,09,sha1-ce)
+endef
+
KernelPackage/crypto-sha1/imx=$(KernelPackage/crypto-sha1/arm-neon)
KernelPackage/crypto-sha1/ipq40xx=$(KernelPackage/crypto-sha1/arm-neon)
+KernelPackage/crypto-sha1/mediatek/filogic=$(KernelPackage/crypto-sha1/aarch64-ce)
+KernelPackage/crypto-sha1/mediatek/mt7622=$(KernelPackage/crypto-sha1/aarch64-ce)
KernelPackage/crypto-sha1/mvebu/cortexa9=$(KernelPackage/crypto-sha1/arm-neon)
+KernelPackage/crypto-sha1/mvebu/cortexa53=$(KernelPackage/crypto-sha1/aarch64-ce)
+KernelPackage/crypto-sha1/mvebu/cortexa72=$(KernelPackage/crypto-sha1/aarch64-ce)
+KernelPackage/crypto-sha1/qualcommax=$(KernelPackage/crypto-sha1/aarch64-ce)
+KernelPackage/crypto-sha1/rockchip/armv8=$(KernelPackage/crypto-sha1/aarch64-ce)
define KernelPackage/crypto-sha1/octeon
FILES+=$(LINUX_DIR)/arch/mips/cavium-octeon/crypto/octeon-sha1.ko
$(eval $(call KernelPackage,crypto-sha1))
+define KernelPackage/crypto-sha3
+ TITLE:=SHA3 digest CryptoAPI module
+ DEPENDS:=+kmod-crypto-hash
+ KCONFIG:= CONFIG_CRYPTO_SHA3
+ FILES:=$(LINUX_DIR)/crypto/sha3_generic.ko
+ AUTOLOAD:=$(call AutoLoad,09,sha3_generic)
+ $(call AddDepends/crypto)
+endef
+
+$(eval $(call KernelPackage,crypto-sha3))
+
+
define KernelPackage/crypto-sha256
TITLE:=SHA224 SHA256 digest CryptoAPI module
DEPENDS:=+kmod-crypto-hash
CONFIG_CRYPTO_SHA256 \
CONFIG_CRYPTO_SHA256_OCTEON \
CONFIG_CRYPTO_SHA256_PPC_SPE \
+ CONFIG_CRYPTO_SHA256_ARM64 \
+ CONFIG_CRYPTO_SHA2_ARM64_CE \
CONFIG_CRYPTO_SHA256_SSSE3
FILES:= \
$(LINUX_DIR)/crypto/sha256_generic.ko \
$(call AddDepends/crypto)
endef
+define KernelPackage/crypto-sha256/aarch64
+ FILES+=$(LINUX_DIR)/arch/arm64/crypto/sha256-arm64.ko
+ AUTOLOAD+=$(call AutoLoad,09,sha256-arm64)
+endef
+
+define KernelPackage/crypto-sha256/aarch64-ce
+ $(call KernelPackage/crypto-sha256/aarch64)
+ FILES+=$(LINUX_DIR)/arch/arm64/crypto/sha2-ce.ko
+ AUTOLOAD+=$(call AutoLoad,09,sha2-ce)
+endef
+
define KernelPackage/crypto-sha256/octeon
FILES+=$(LINUX_DIR)/arch/mips/cavium-octeon/crypto/octeon-sha256.ko
AUTOLOAD+=$(call AutoLoad,09,octeon-sha256)
endef
endif
+KernelPackage/crypto-sha256/mediatek/filogic=$(KernelPackage/crypto-sha256/aarch64-ce)
+KernelPackage/crypto-sha256/mediatek/mt7622=$(KernelPackage/crypto-sha256/aarch64-ce)
+KernelPackage/crypto-sha256/mvebu/cortexa53=$(KernelPackage/crypto-sha256/aarch64-ce)
+KernelPackage/crypto-sha256/mvebu/cortexa72=$(KernelPackage/crypto-sha256/aarch64-ce)
+KernelPackage/crypto-sha256/qualcommax=$(KernelPackage/crypto-sha256/aarch64-ce)
+KernelPackage/crypto-sha256/rockchip/armv8=$(KernelPackage/crypto-sha256/aarch64-ce)
+
ifdef KernelPackage/crypto-sha256/$(ARCH)
KernelPackage/crypto-sha256/$(CRYPTO_TARGET)=\
$(KernelPackage/crypto-sha256/$(ARCH))
KCONFIG:= \
CONFIG_CRYPTO_SHA512 \
CONFIG_CRYPTO_SHA512_ARM \
+ CONFIG_CRYPTO_SHA512_ARM64 \
CONFIG_CRYPTO_SHA512_OCTEON \
CONFIG_CRYPTO_SHA512_SSSE3
FILES:=$(LINUX_DIR)/crypto/sha512_generic.ko
AUTOLOAD+=$(call AutoLoad,09,sha512-arm)
endef
+define KernelPackage/crypto-sha512/aarch64
+ FILES+=$(LINUX_DIR)/arch/arm64/crypto/sha512-arm64.ko
+ AUTOLOAD+=$(call AutoLoad,09,sha512-arm64)
+endef
+
KernelPackage/crypto-sha512/imx=$(KernelPackage/crypto-sha512/arm)
KernelPackage/crypto-sha512/ipq40xx=$(KernelPackage/crypto-sha512/arm)
KernelPackage/crypto-sha512/mvebu/cortexa9=$(KernelPackage/crypto-sha512/arm)