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
$(eval $(call KernelPackage,crypto-hw-talitos))
+define KernelPackage/crypto-hw-eip93
+ TITLE:=MTK EIP93 crypto module
+ DEPENDS:=@TARGET_ramips_mt7621 \
+ +kmod-crypto-authenc \
+ +kmod-crypto-des \
+ +kmod-crypto-md5 \
+ +kmod-crypto-sha1 \
+ +kmod-crypto-sha256
+ KCONFIG:= \
+ CONFIG_CRYPTO_HW=y \
+ CONFIG_CRYPTO_DEV_EIP93 \
+ CONFIG_CRYPTO_DEV_EIP93_AES=y \
+ CONFIG_CRYPTO_DEV_EIP93_DES=y \
+ CONFIG_CRYPTO_DEV_EIP93_AEAD=y \
+ CONFIG_CRYPTO_DEV_EIP93_GENERIC_SW_MAX_LEN=256 \
+ CONFIG_CRYPTO_DEV_EIP93_AES_128_SW_MAX_LEN=512
+ FILES:=$(LINUX_DIR)/drivers/crypto/mtk-eip93/crypto-hw-eip93.ko
+ AUTOLOAD:=$(call AutoLoad,09,crypto-hw-eip93)
+ $(call AddDepends/crypto)
+endef
+
+define KernelPackage/crypto-hw-eip93/description
+Kernel module to enable EIP-93 Crypto engine as found
+in the Mediatek MT7621 SoC.
+It enables DES/3DES/AES ECB/CBC/CTR and
+IPSEC offload with authenc(hmac(sha1/sha256), aes/cbc/rfc3686)
+endef
+
+$(eval $(call KernelPackage,crypto-hw-eip93))
define KernelPackage/crypto-kpp
TITLE:=Key-agreement Protocol Primitives
FILES:=$(LINUX_DIR)/arch/arm/crypto/chacha-neon.ko
endef
+KernelPackage/crypto-lib-chacha20/armeb=$(KernelPackage/crypto-lib-chacha20/arm)
+
define KernelPackage/crypto-lib-chacha20/aarch64
KCONFIG+=CONFIG_CRYPTO_CHACHA20_NEON
FILES+=$(LINUX_DIR)/arch/arm64/crypto/chacha-neon.ko
FILES:=$(LINUX_DIR)/arch/arm/crypto/poly1305-arm.ko
endef
+KernelPackage/crypto-lib-poly1305/armeb=$(KernelPackage/crypto-lib-poly1305/arm)
+
define KernelPackage/crypto-lib-poly1305/aarch64
KCONFIG+=CONFIG_CRYPTO_POLY1305_NEON
FILES:=$(LINUX_DIR)/arch/arm64/crypto/poly1305-neon.ko
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 \
- +LINUX_5_10:kmod-crypto-sha256 \
- +LINUX_5_15: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
AUTOLOAD+=$(call AutoLoad,09,sha1-ppc-spe)
endef
+ifndef CONFIG_TARGET_uml
define KernelPackage/crypto-sha1/x86_64
FILES+=$(LINUX_DIR)/arch/x86/crypto/sha1-ssse3.ko
AUTOLOAD+=$(call AutoLoad,09,sha1-ssse3)
endef
+endif
ifdef KernelPackage/crypto-sha1/$(ARCH)
KernelPackage/crypto-sha1/$(CRYPTO_TARGET)=\
$(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)
AUTOLOAD+=$(call AutoLoad,09,sha256-ppc-spe)
endef
+ifndef CONFIG_TARGET_uml
define KernelPackage/crypto-sha256/x86_64
FILES+=$(LINUX_DIR)/arch/x86/crypto/sha256-ssse3.ko
AUTOLOAD+=$(call AutoLoad,09,sha256-ssse3)
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)=\
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)
KernelPackage/crypto-sha512/tegra=$(KernelPackage/crypto-sha512/arm)
+ifndef CONFIG_TARGET_uml
define KernelPackage/crypto-sha512/x86_64
FILES+=$(LINUX_DIR)/arch/x86/crypto/sha512-ssse3.ko
AUTOLOAD+=$(call AutoLoad,09,sha512-ssse3)
endef
+endif
ifdef KernelPackage/crypto-sha512/$(ARCH)
KernelPackage/crypto-sha512/$(CRYPTO_TARGET)=\