diff mbox series

[OpenWrt-Devel,2/2] kernel: package module for SafeXcel crypto engine

Message ID 20190605143124.7598-2-tomek_n@o2.pl
State Superseded
Headers show
Series [OpenWrt-Devel,1/2] mvebu: add kernel 4.19 support | expand

Commit Message

Tomasz Maciej Nowak June 5, 2019, 2:31 p.m. UTC
Supports EIP97 and EIP197 found on Armada 37xx, 7k and 8k SoCs.
Unfortunately firmware for EIP197 is not easily obtainable, therefore
to not cause lot of user requests directed at OpenWrt, package it as
module with explanation where to obtain the firmware.

Cc: Marek Behún <marek.behun@nic.cz>
Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
---
 package/kernel/linux/modules/crypto.mk | 28 ++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

Comments

Jonas Gorski June 5, 2019, 3:45 p.m. UTC | #1
On Wed, 5 Jun 2019 at 16:32, Tomasz Maciej Nowak <tomek_n@o2.pl> wrote:
>
> Supports EIP97 and EIP197 found on Armada 37xx, 7k and 8k SoCs.
> Unfortunately firmware for EIP197 is not easily obtainable, therefore
> to not cause lot of user requests directed at OpenWrt, package it as
> module with explanation where to obtain the firmware.
>
> Cc: Marek Behún <marek.behun@nic.cz>
> Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
> ---
>  package/kernel/linux/modules/crypto.mk | 28 ++++++++++++++++++++++++++
>  1 file changed, 28 insertions(+)
>
> diff --git a/package/kernel/linux/modules/crypto.mk b/package/kernel/linux/modules/crypto.mk
> index 9cab04c6ed..ed2ab6aed7 100644
> --- a/package/kernel/linux/modules/crypto.mk
> +++ b/package/kernel/linux/modules/crypto.mk
> @@ -350,6 +350,34 @@ endef
>  $(eval $(call KernelPackage,crypto-hw-padlock))
>
>
> +define KernelPackage/crypto-hw-safexcel
> +  TITLE:= MVEBU SafeXcel Crypto Engine module
> +  DEPENDS:=@LINUX_4_19 @(TARGET_mvebu_cortexa53||TARGET_mvebu_cortexa72) \

Assuming this is isn't exclusive to 4.19, a @!LINUX_4_14 would be more
future proof

> +       +kmod-crypto-authenc +kmod-crypto-md5
> +  KCONFIG:= \
> +       CONFIG_CRYPTO_AES=y \
> +       CONFIG_CRYPTO_BLKCIPHER=y \

These two are already set to =y by the default config, no need to
specify them here.

> +       CONFIG_CRYPTO_DEV_SAFEXCEL \
> +       CONFIG_CRYPTO_HMAC=y \

+kmod-crypto-hmac

> +       CONFIG_CRYPTO_HW=y \
> +       CONFIG_CRYPTO_SHA256=y \

+kmod-crypto-sha256

> +       CONFIG_CRYPTO_SHA512=y

+kmod-crypto-sha512

> +  FILES:=$(LINUX_DIR)/drivers/crypto/inside-secure/crypto_safexcel.ko
> +  AUTOLOAD:=$(call AutoLoad,90,crypto_safexcel)
> +  $(call AddDepends/crypto)
> +endef
> +
> +define KernelPackage/crypto-hw-safexcel/description
> +MVEBU's EIP97 and EIP197 Cryptographic Engine driver designed by
> +Inside Secure. This is found on Marvell Armada 37xx/7k/8k SoCs.
> +
> +Particural version of these IP (EIP197B and EIP197D) require firmware.

s/Particural/Particular/

> +It can be obtained at https://extranet.marvell.com.

You need an NDA to obtain it, which isn't something possible for the
average end user. The description should make it clear that this isn't
a simple "download here" situation. Are there any boards supported by
OpenWrt usable without the firmware?


Regards
Jonas
Tomasz Maciej Nowak June 10, 2019, 2:28 p.m. UTC | #2
Hi  Jonas.

W dniu 05.06.2019 o 17:45, Jonas Gorski pisze:
> On Wed, 5 Jun 2019 at 16:32, Tomasz Maciej Nowak <tomek_n@o2.pl> wrote:
>>
>> Supports EIP97 and EIP197 found on Armada 37xx, 7k and 8k SoCs.
>> Unfortunately firmware for EIP197 is not easily obtainable, therefore
>> to not cause lot of user requests directed at OpenWrt, package it as
>> module with explanation where to obtain the firmware.
>>
>> Cc: Marek Behún <marek.behun@nic.cz>
>> Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
>> ---
>>  package/kernel/linux/modules/crypto.mk | 28 ++++++++++++++++++++++++++
>>  1 file changed, 28 insertions(+)
>>
>> diff --git a/package/kernel/linux/modules/crypto.mk b/package/kernel/linux/modules/crypto.mk
>> index 9cab04c6ed..ed2ab6aed7 100644
>> --- a/package/kernel/linux/modules/crypto.mk
>> +++ b/package/kernel/linux/modules/crypto.mk
>> @@ -350,6 +350,34 @@ endef
>>  $(eval $(call KernelPackage,crypto-hw-padlock))
>>
>>
>> +define KernelPackage/crypto-hw-safexcel
>> +  TITLE:= MVEBU SafeXcel Crypto Engine module
>> +  DEPENDS:=@LINUX_4_19 @(TARGET_mvebu_cortexa53||TARGET_mvebu_cortexa72) \
> 
> Assuming this is isn't exclusive to 4.19, a @!LINUX_4_14 would be more
> future proof

Good point.

>> +       +kmod-crypto-authenc +kmod-crypto-md5
>> +  KCONFIG:= \
>> +       CONFIG_CRYPTO_AES=y \
>> +       CONFIG_CRYPTO_BLKCIPHER=y \
> 
> These two are already set to =y by the default config, no need to
> specify them here.

Thanks, didn't check generic config.

>> +       CONFIG_CRYPTO_DEV_SAFEXCEL \
>> +       CONFIG_CRYPTO_HMAC=y \
> 
> +kmod-crypto-hmac
> 
>> +       CONFIG_CRYPTO_HW=y \
>> +       CONFIG_CRYPTO_SHA256=y \
> 
> +kmod-crypto-sha256
> 
>> +       CONFIG_CRYPTO_SHA512=y
> 
> +kmod-crypto-sha512

Thanks, will check again the dependencies.

>> +  FILES:=$(LINUX_DIR)/drivers/crypto/inside-secure/crypto_safexcel.ko
>> +  AUTOLOAD:=$(call AutoLoad,90,crypto_safexcel)
>> +  $(call AddDepends/crypto)
>> +endef
>> +
>> +define KernelPackage/crypto-hw-safexcel/description
>> +MVEBU's EIP97 and EIP197 Cryptographic Engine driver designed by
>> +Inside Secure. This is found on Marvell Armada 37xx/7k/8k SoCs.
>> +
>> +Particural version of these IP (EIP197B and EIP197D) require firmware.
> 
> s/Particural/Particular/
> 
>> +It can be obtained at https://extranet.marvell.com.
> 
> You need an NDA to obtain it, which isn't something possible for the
> average end user. The description should make it clear that this isn't
> a simple "download here" situation.

Had that in my previous local version but I decided to simplify it, since visiting
the URL will show login wall with text explaining who can obtain the firmware. Will
use more elaborate version. Don't know how it is with devices sold by SolidRun
(MACCHIATObin and Clearfog GT 8K), maybe it's easier obtaining it through them?

> Are there any boards supported by
> OpenWrt usable without the firmware?

Only boards using Armada 37XX SoC which has EIP97 (cortexa53 subtarget).

> 
> 
> Regards
> Jonas
> 

Regards
diff mbox series

Patch

diff --git a/package/kernel/linux/modules/crypto.mk b/package/kernel/linux/modules/crypto.mk
index 9cab04c6ed..ed2ab6aed7 100644
--- a/package/kernel/linux/modules/crypto.mk
+++ b/package/kernel/linux/modules/crypto.mk
@@ -350,6 +350,34 @@  endef
 $(eval $(call KernelPackage,crypto-hw-padlock))
 
 
+define KernelPackage/crypto-hw-safexcel
+  TITLE:= MVEBU SafeXcel Crypto Engine module
+  DEPENDS:=@LINUX_4_19 @(TARGET_mvebu_cortexa53||TARGET_mvebu_cortexa72) \
+	+kmod-crypto-authenc +kmod-crypto-md5
+  KCONFIG:= \
+	CONFIG_CRYPTO_AES=y \
+	CONFIG_CRYPTO_BLKCIPHER=y \
+	CONFIG_CRYPTO_DEV_SAFEXCEL \
+	CONFIG_CRYPTO_HMAC=y \
+	CONFIG_CRYPTO_HW=y \
+	CONFIG_CRYPTO_SHA256=y \
+	CONFIG_CRYPTO_SHA512=y
+  FILES:=$(LINUX_DIR)/drivers/crypto/inside-secure/crypto_safexcel.ko
+  AUTOLOAD:=$(call AutoLoad,90,crypto_safexcel)
+  $(call AddDepends/crypto)
+endef
+
+define KernelPackage/crypto-hw-safexcel/description
+MVEBU's EIP97 and EIP197 Cryptographic Engine driver designed by
+Inside Secure. This is found on Marvell Armada 37xx/7k/8k SoCs.
+
+Particural version of these IP (EIP197B and EIP197D) require firmware.
+It can be obtained at https://extranet.marvell.com.
+endef
+
+$(eval $(call KernelPackage,crypto-hw-safexcel))
+
+
 define KernelPackage/crypto-hw-talitos
   TITLE:=Freescale integrated security engine (SEC) driver
   DEPENDS:=+kmod-crypto-manager +kmod-crypto-hash +kmod-random-core +kmod-crypto-authenc +kmod-crypto-des