kernel: build crypto md5/sha1/sha256 modules for powerpc
authorJosef Schlehofer <pepe.schlehofer@gmail.com>
Tue, 30 Aug 2022 07:02:32 +0000 (09:02 +0200)
committerHauke Mehrtens <hauke@hauke-m.de>
Sat, 17 Sep 2022 13:58:25 +0000 (15:58 +0200)
This builds and enables kernel optimized modules for mpc85xx target:
- CONFIG_CRYPTO_MD5_PPC [1]
- CONFIG_CRYPTO_SHA1_PPC_SPE [2]
- CONFIG_CRYPTO_SHA256_PPC_SPE [3]

Where it was possible, then use Signal Processing Engine, because
CONFIG_SPE is already enabled in mpc85xx config.

[1] https://cateee.net/lkddb/web-lkddb/CRYPTO_MD5_PPC.html
[2] https://cateee.net/lkddb/web-lkddb/CRYPTO_SHA1_PPC.html
[3] https://cateee.net/lkddb/web-lkddb/CRYPTO_SHA256_PPC_SPE.html

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
(cherry picked from commit 3a702f8733ff371f30e9e3ba1e1aed5f4686b6b4)

package/kernel/linux/modules/crypto.mk

index 2b0388aa10fa1601999cbf0d5047de6caafae23d..441039cdd5dc5bde43b67d038ba52850e84c65ec 100644 (file)
@@ -619,7 +619,8 @@ define KernelPackage/crypto-md5
   DEPENDS:=+kmod-crypto-hash
   KCONFIG:= \
        CONFIG_CRYPTO_MD5 \
-       CONFIG_CRYPTO_MD5_OCTEON
+       CONFIG_CRYPTO_MD5_OCTEON \
+       CONFIG_CRYPTO_MD5_PPC
   FILES:=$(LINUX_DIR)/crypto/md5.ko
   AUTOLOAD:=$(call AutoLoad,09,md5)
   $(call AddDepends/crypto)
@@ -630,6 +631,11 @@ define KernelPackage/crypto-md5/octeon
   AUTOLOAD+=$(call AutoLoad,09,octeon-md5)
 endef
 
+define KernelPackage/crypto-md5/mpc85xx
+  FILES+=$(LINUX_DIR)/arch/powerpc/crypto/md5-ppc.ko
+  AUTOLOAD+=$(call AutoLoad,09,md5-ppc)
+endef
+
 $(eval $(call KernelPackage,crypto-md5))
 
 
@@ -829,6 +835,7 @@ define KernelPackage/crypto-sha1
        CONFIG_CRYPTO_SHA1_ARM \
        CONFIG_CRYPTO_SHA1_ARM_NEON \
        CONFIG_CRYPTO_SHA1_OCTEON \
+       CONFIG_CRYPTO_SHA1_PPC_SPE \
        CONFIG_CRYPTO_SHA1_SSSE3
   FILES:=$(LINUX_DIR)/crypto/sha1_generic.ko
   AUTOLOAD:=$(call AutoLoad,09,sha1_generic)
@@ -857,6 +864,11 @@ endef
 
 KernelPackage/crypto-sha1/tegra=$(KernelPakcage/crypto-sha1/arm)
 
+define KernelPackage/crypto-sha1/mpc85xx
+  FILES+=$(LINUX_DIR)/arch/powerpc/crypto/sha1-ppc-spe.ko
+  AUTOLOAD+=$(call AutoLoad,09,sha1-ppc-spe)
+endef
+
 define KernelPackage/crypto-sha1/x86/64
   FILES+=$(LINUX_DIR)/arch/x86/crypto/sha1-ssse3.ko
   AUTOLOAD+=$(call AutoLoad,09,sha1-ssse3)
@@ -871,6 +883,7 @@ define KernelPackage/crypto-sha256
   KCONFIG:= \
        CONFIG_CRYPTO_SHA256 \
        CONFIG_CRYPTO_SHA256_OCTEON \
+       CONFIG_CRYPTO_SHA256_PPC_SPE \
        CONFIG_CRYPTO_SHA256_SSSE3
   FILES:= \
        $(LINUX_DIR)/crypto/sha256_generic.ko \
@@ -884,6 +897,11 @@ define KernelPackage/crypto-sha256/octeon
   AUTOLOAD+=$(call AutoLoad,09,octeon-sha256)
 endef
 
+define KernelPackage/crypto-sha256/mpc85xx
+  FILES+=$(LINUX_DIR)/arch/powerpc/crypto/sha256-ppc-spe.ko
+  AUTOLOAD+=$(call AutoLoad,09,sha256-ppc-spe)
+endef
+
 define KernelPackage/crypto-sha256/x86/64
   FILES+=$(LINUX_DIR)/arch/x86/crypto/sha256-ssse3.ko
   AUTOLOAD+=$(call AutoLoad,09,sha256-ssse3)