From: Eneas U de Queiroz Date: Mon, 24 Feb 2020 12:59:38 +0000 (-0300) Subject: kernel: build neon-asm version of ghash module X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=285df63efc7052576b14af2ea38b1234da4cb104;p=openwrt%2Fstaging%2Faparcar.git kernel: build neon-asm version of ghash module This alone improves AES-GCM performance by up to 50% on ipq40xx. This is enabled for targets that support neon and set CONFIG_ARM_CRYPTO: imx6, ipq40xx, and mvebu. Signed-off-by: Eneas U de Queiroz --- diff --git a/package/kernel/linux/modules/crypto.mk b/package/kernel/linux/modules/crypto.mk index be2182fd8b..0fe6416df0 100644 --- a/package/kernel/linux/modules/crypto.mk +++ b/package/kernel/linux/modules/crypto.mk @@ -266,12 +266,23 @@ $(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 + KCONFIG:= \ + CONFIG_CRYPTO_GHASH \ + CONFIG_CRYPTO_GHASH_ARM_CE FILES:=$(LINUX_DIR)/crypto/ghash-generic.ko AUTOLOAD:=$(call AutoLoad,09,ghash-generic) $(call AddDepends/crypto) endef +define KernelPackage/crypto-ghash/arm-ce + FILES+= $(LINUX_DIR)/arch/arm/crypto/ghash-arm-ce.ko + AUTOLOAD+=$(call AutoLoad,09,ghash-arm-ce) +endef + +KernelPackage/crypto-ghash/imx6=$(KernelPackage/crypto-ghash/arm-ce) +KernelPackage/crypto-ghash/ipq40xx=$(KernelPackage/crypto-ghash/arm-ce) +KernelPackage/crypto-ghash/mvebu=$(KernelPackage/crypto-ghash/arm-ce) + $(eval $(call KernelPackage,crypto-ghash))