diff mbox

[OpenWrt-Devel,2/5] kernel: enable AES-NI for x86

Message ID 1424188496-4199-3-git-send-email-uw@ocedo.com
State Changes Requested
Headers show

Commit Message

Ulrich Weber Feb. 17, 2015, 3:54 p.m. UTC
Signed-off-by: Ulrich Weber <uw@ocedo.com>
---
 package/kernel/linux/modules/crypto.mk | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

Comments

John Crispin March 6, 2015, 8:19 a.m. UTC | #1
Hi Ulrich,

comments inline

On 17/02/2015 16:54, Ulrich Weber wrote:
> Signed-off-by: Ulrich Weber <uw@ocedo.com>
> ---
>  package/kernel/linux/modules/crypto.mk | 11 +++++++----
>  1 file changed, 7 insertions(+), 4 deletions(-)
> 
> diff --git a/package/kernel/linux/modules/crypto.mk b/package/kernel/linux/modules/crypto.mk
> index 7f8b9f2..1ae962f 100644
> --- a/package/kernel/linux/modules/crypto.mk
> +++ b/package/kernel/linux/modules/crypto.mk
> @@ -267,15 +267,18 @@ $(eval $(call KernelPackage,crypto-hw-omap))
>  
>  define KernelPackage/crypto-aes
>    TITLE:=AES cipher CryptoAPI module
> -  KCONFIG:=CONFIG_CRYPTO_AES CONFIG_CRYPTO_AES_586
> +  KCONFIG:=CONFIG_CRYPTO_AES CONFIG_CRYPTO_AES_586 CONFIG_CRYPTO_AES_NI_INTEL

instead of doing this

>    FILES:=$(LINUX_DIR)/crypto/aes_generic.ko
>    AUTOLOAD:=$(call AutoLoad,09,aes_generic)
> -  $(call AddDepends/crypto)
> +  $(call AddDepends/crypto,+TARGET_x86:kmod-crypto-cryptd +TARGET_x86:kmod-crypto-gf128 +TARGET_x86:kmod-crypto-xts)

and this we could do

>  endef
>  
>  define KernelPackage/crypto-aes/x86
> -  FILES+=$(LINUX_DIR)/arch/x86/crypto/aes-i586.ko
> -  AUTOLOAD:=$(call AutoLoad,09,aes-i586)
> +  FILES+=$(LINUX_DIR)/arch/x86/crypto/aes-i586.ko \
> +	$(LINUX_DIR)/arch/x86/crypto/aesni-intel.ko \
> +	$(LINUX_DIR)/crypto/ablk_helper.ko \
> +	$(LINUX_DIR)/crypto/lrw.ko
> +  AUTOLOAD:=$(call AutoLoad,09,ablk_helper lrw aes_generic aes-i586 aesni-intel)

DEPENDS+=+kmod-crypto-cryptd +kmod-crypto-gf128 +kmod-crypto-xts
KCONFIG+=CONFIG_CRYPTO_AES_586 CONFIG_CRYPTO_AES_NI_INTEL

same goes fro 3/5  or am i missing something ?

	John



>  endef
>  
>  $(eval $(call KernelPackage,crypto-aes))
>
Ulrich Weber March 6, 2015, 12:10 p.m. UTC | #2
Hi John,

On 06.03.2015 09:19, John Crispin wrote:
>   define KernelPackage/crypto-aes/x86
> -  FILES+=$(LINUX_DIR)/arch/x86/crypto/aes-i586.ko
> -  AUTOLOAD:=$(call AutoLoad,09,aes-i586)
> +  FILES+=$(LINUX_DIR)/arch/x86/crypto/aes-i586.ko \
> +	$(LINUX_DIR)/arch/x86/crypto/aesni-intel.ko \
> +	$(LINUX_DIR)/crypto/ablk_helper.ko \
> +	$(LINUX_DIR)/crypto/lrw.ko
> +  AUTOLOAD:=$(call AutoLoad,09,ablk_helper lrw aes_generic aes-i586 aesni-intel)
> DEPENDS+=+kmod-crypto-cryptd +kmod-crypto-gf128 +kmod-crypto-xts
> KCONFIG+=CONFIG_CRYPTO_AES_586 CONFIG_CRYPTO_AES_NI_INTEL
>
> same goes fro 3/5  or am i missing something ?
>
Nope, that didnt work for me. Seems the DEPENDS/KCONFIG parser
is not aware of architecture specific packages?

Cheers
  Ulrich
John Crispin March 6, 2015, 12:23 p.m. UTC | #3
On 06/03/2015 13:01, Ulrich Weber wrote:
> Hi John,
> 
> On 06.03.2015 09:19, John Crispin wrote:
>>   define KernelPackage/crypto-aes/x86
>> -  FILES+=$(LINUX_DIR)/arch/x86/crypto/aes-i586.ko
>> -  AUTOLOAD:=$(call AutoLoad,09,aes-i586)
>> +  FILES+=$(LINUX_DIR)/arch/x86/crypto/aes-i586.ko \
>> +    $(LINUX_DIR)/arch/x86/crypto/aesni-intel.ko \
>> +    $(LINUX_DIR)/crypto/ablk_helper.ko \
>> +    $(LINUX_DIR)/crypto/lrw.ko
>> +  AUTOLOAD:=$(call AutoLoad,09,ablk_helper lrw aes_generic aes-i586
>> aesni-intel)
>> DEPENDS+=+kmod-crypto-cryptd +kmod-crypto-gf128 +kmod-crypto-xts
>> KCONFIG+=CONFIG_CRYPTO_AES_586 CONFIG_CRYPTO_AES_NI_INTEL
>>
>> same goes fro 3/5  or am i missing something ?
>>
> Nope, that didnt work for me. Seems the DEPENDS/KCONFIG parser
> is not aware of architecture specific packages?
> 
> Cheers
>  Ulrich

hmm, we should fix the parser in that case, will have a look at this
later today or start of next week

	John
diff mbox

Patch

diff --git a/package/kernel/linux/modules/crypto.mk b/package/kernel/linux/modules/crypto.mk
index 7f8b9f2..1ae962f 100644
--- a/package/kernel/linux/modules/crypto.mk
+++ b/package/kernel/linux/modules/crypto.mk
@@ -267,15 +267,18 @@  $(eval $(call KernelPackage,crypto-hw-omap))
 
 define KernelPackage/crypto-aes
   TITLE:=AES cipher CryptoAPI module
-  KCONFIG:=CONFIG_CRYPTO_AES CONFIG_CRYPTO_AES_586
+  KCONFIG:=CONFIG_CRYPTO_AES CONFIG_CRYPTO_AES_586 CONFIG_CRYPTO_AES_NI_INTEL
   FILES:=$(LINUX_DIR)/crypto/aes_generic.ko
   AUTOLOAD:=$(call AutoLoad,09,aes_generic)
-  $(call AddDepends/crypto)
+  $(call AddDepends/crypto,+TARGET_x86:kmod-crypto-cryptd +TARGET_x86:kmod-crypto-gf128 +TARGET_x86:kmod-crypto-xts)
 endef
 
 define KernelPackage/crypto-aes/x86
-  FILES+=$(LINUX_DIR)/arch/x86/crypto/aes-i586.ko
-  AUTOLOAD:=$(call AutoLoad,09,aes-i586)
+  FILES+=$(LINUX_DIR)/arch/x86/crypto/aes-i586.ko \
+	$(LINUX_DIR)/arch/x86/crypto/aesni-intel.ko \
+	$(LINUX_DIR)/crypto/ablk_helper.ko \
+	$(LINUX_DIR)/crypto/lrw.ko
+  AUTOLOAD:=$(call AutoLoad,09,ablk_helper lrw aes_generic aes-i586 aesni-intel)
 endef
 
 $(eval $(call KernelPackage,crypto-aes))