Message ID | 1336159393-17052-2-git-send-email-gustavo@zacarias.com.ar |
---|---|
State | Superseded |
Headers | show |
>>>>> "Gustavo" == Gustavo Zacarias <gustavo@zacarias.com.ar> writes:
Hi,
A few comments:
Gustavo> Add the ocf-linux package and linux kernel extension.
Gustavo> Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Gustavo> ---
Gustavo> linux/Config.ext.in | 12 ++++++++++++
Gustavo> linux/linux-ext-ocf-linux.mk | 21 +++++++++++++++++++++
Gustavo> package/Config.in | 1 +
Gustavo> package/ocf-linux/Config.in | 12 ++++++++++++
Gustavo> package/ocf-linux/ocf-linux.mk | 21 +++++++++++++++++++++
Gustavo> 5 files changed, 67 insertions(+), 0 deletions(-)
Gustavo> create mode 100644 linux/linux-ext-ocf-linux.mk
Gustavo> create mode 100644 package/ocf-linux/Config.in
Gustavo> create mode 100644 package/ocf-linux/ocf-linux.mk
Gustavo> diff --git a/linux/Config.ext.in b/linux/Config.ext.in
Gustavo> index 172fa76..943c380 100644
Gustavo> --- a/linux/Config.ext.in
Gustavo> +++ b/linux/Config.ext.in
Gustavo> @@ -23,6 +23,18 @@ config BR2_LINUX_KERNEL_EXT_XENOMAI_ADEOS_PATCH
Gustavo> Download it at http://download.gna.org/adeos/patches/v2.6/$(ARCH)/
Gustavo> and verify that your kernel version in buildroot matches.
Gustavo> +# ocf-linux
Gustavo> +config BR2_LINUX_KERNEL_EXT_OCF_LINUX
Gustavo> + bool "Open Cryptographic Framework (OCF)"
Gustavo> + select BR2_PACKAGE_OCF_LINUX
Gustavo> + help
Gustavo> + OCF-Linux Kernel part.
Gustavo> +
Gustavo> + Select this option to patch your kernel with OCF for
Gustavo> + hardware-accelerated crypto support for available drivers.
Gustavo> + Some libraries need to have OCF also enabled for them,
I would move the 'also' - E.G. 'Some libraries need to also have OCF enabled'
Gustavo> +ifeq ($(BR2_LINUX_KERNEL_EXT_OCF_LINUX),y)
Gustavo> +LINUX_DEPENDENCIES += ocf-linux
Gustavo> +
Gustavo> +# Prepare kernel patch
Gustavo> +# The linux-3.2.1.patch is just the main inclusion, most of the code
Gustavo> +# resides in the ocf/ subdir.
Gustavo> +define OCF_LINUX_PREPARE_KERNEL
Gustavo> + support/scripts/apply-patches.sh $(LINUX_DIR) \
Gustavo> + $(OCF_LINUX_DIR)/patches/ linux-3.2.1-ocf.patch ; \
Gustavo> + cp -rf $(OCF_LINUX_DIR)/ocf $(LINUX_DIR)/crypto/ocf ;
Gustavo> +endef
How likely is it that this patch will work for a random kernel version?
From the tarball I see a bunch of patches for different versions, so we
probably need something smarter than just hardcoding 3.2.1 - Perhaps
just an option where the user can type the version number of the patch
they want to use?
Gustavo> +
Gustavo> +LINUX_PRE_PATCH_HOOKS += OCF_LINUX_PREPARE_KERNEL
Gustavo> +
Gustavo> +endif #BR2_LINUX_EXT_OCF_LINUX
Gustavo> diff --git a/package/Config.in b/package/Config.in
Gustavo> index 1cd9789..968cacc 100644
Gustavo> --- a/package/Config.in
Gustavo> +++ b/package/Config.in
Gustavo> @@ -279,6 +279,7 @@ source "package/gnutls/Config.in"
Gustavo> source "package/libgcrypt/Config.in"
Gustavo> source "package/libgpg-error/Config.in"
Gustavo> source "package/libnss/Config.in"
Gustavo> +source "package/ocf-linux/Config.in"
Gustavo> source "package/openssl/Config.in"
Gustavo> source "package/polarssl/Config.in"
Gustavo> endmenu
Gustavo> diff --git a/package/ocf-linux/Config.in b/package/ocf-linux/Config.in
Gustavo> new file mode 100644
Gustavo> index 0000000..3c3a08e
Gustavo> --- /dev/null
Gustavo> +++ b/package/ocf-linux/Config.in
Gustavo> @@ -0,0 +1,12 @@
Gustavo> +config BR2_PACKAGE_OCF_LINUX
Gustavo> + bool "ocf-linux"
Gustavo> + help
Gustavo> + OCF-Linux is a Linux port of the OpenBSD/FreeBSD Cryptographic
Gustavo> + Framework (OCF). This port aims to bring full asynchronous HW/SW
Gustavo> + crypto acceleration to the Linux kernel and applications
Gustavo> + running under Linux.
Gustavo> +
Gustavo> + You need to enable the OCF linux kernel extension or provide
Gustavo> + a prepatched kernel to make this option useful.
Gustavo> +
Trailing spaces (the last empty line).
On 2012-05-05 09:06, Peter Korsgaard wrote: > I would move the 'also' - E.G. 'Some libraries need to also have OCF > enabled' Ok. > How likely is it that this patch will work for a random kernel > version? > From the tarball I see a bunch of patches for different versions, so > we > probably need something smarter than just hardcoding 3.2.1 - Perhaps > just an option where the user can type the version number of the > patch > they want to use? Run-tested as low as 2.6.38.x Build-tested as low as 2.6.35.x I can give it a run-test on 2.6.35 maybe, depending on how lucky i am with my hardware crypto enabled test platforms. > Trailing spaces (the last empty line). Fixed. Let me know regarding the kernel patch what you prefer given the new information to avoid sending zillions of versions. Regards.
>>>>> "Gustavo" == Gustavo Zacarias <gustavo@zacarias.com.ar> writes:
Hi,
Gustavo> Run-tested as low as 2.6.38.x
Gustavo> Build-tested as low as 2.6.35.x
Gustavo> I can give it a run-test on 2.6.35 maybe, depending on how lucky i am
Gustavo> with my hardware crypto enabled test platforms.
So the 3.2.1 patch works with everything from 2.6.35..3.3? If that's the case, then I
think it's OK to alway use that one, but please add a comment explaining
why.
On 2012-05-05 09:56, Peter Korsgaard wrote: > So the 3.2.1 patch works with everything from 2.6.35..3.3? If that's > the case, then I > think it's OK to alway use that one, but please add a comment > explaining > why. Added to linux-ext-ocf-linux.mk as a comment. Sent v2 patchset. Regards.
diff --git a/linux/Config.ext.in b/linux/Config.ext.in index 172fa76..943c380 100644 --- a/linux/Config.ext.in +++ b/linux/Config.ext.in @@ -23,6 +23,18 @@ config BR2_LINUX_KERNEL_EXT_XENOMAI_ADEOS_PATCH Download it at http://download.gna.org/adeos/patches/v2.6/$(ARCH)/ and verify that your kernel version in buildroot matches. +# ocf-linux +config BR2_LINUX_KERNEL_EXT_OCF_LINUX + bool "Open Cryptographic Framework (OCF)" + select BR2_PACKAGE_OCF_LINUX + help + OCF-Linux Kernel part. + + Select this option to patch your kernel with OCF for + hardware-accelerated crypto support for available drivers. + Some libraries need to have OCF also enabled for them, + for example OpenSSL. + # RTAI config BR2_LINUX_KERNEL_EXT_RTAI bool "RTAI Real-time patch" diff --git a/linux/linux-ext-ocf-linux.mk b/linux/linux-ext-ocf-linux.mk new file mode 100644 index 0000000..83e26ef --- /dev/null +++ b/linux/linux-ext-ocf-linux.mk @@ -0,0 +1,21 @@ +################################################## +# Linux OCF extension +# +# Patch the linux kernel with OCF +################################################## + +ifeq ($(BR2_LINUX_KERNEL_EXT_OCF_LINUX),y) +LINUX_DEPENDENCIES += ocf-linux + +# Prepare kernel patch +# The linux-3.2.1.patch is just the main inclusion, most of the code +# resides in the ocf/ subdir. +define OCF_LINUX_PREPARE_KERNEL + support/scripts/apply-patches.sh $(LINUX_DIR) \ + $(OCF_LINUX_DIR)/patches/ linux-3.2.1-ocf.patch ; \ + cp -rf $(OCF_LINUX_DIR)/ocf $(LINUX_DIR)/crypto/ocf ; +endef + +LINUX_PRE_PATCH_HOOKS += OCF_LINUX_PREPARE_KERNEL + +endif #BR2_LINUX_EXT_OCF_LINUX diff --git a/package/Config.in b/package/Config.in index 1cd9789..968cacc 100644 --- a/package/Config.in +++ b/package/Config.in @@ -279,6 +279,7 @@ source "package/gnutls/Config.in" source "package/libgcrypt/Config.in" source "package/libgpg-error/Config.in" source "package/libnss/Config.in" +source "package/ocf-linux/Config.in" source "package/openssl/Config.in" source "package/polarssl/Config.in" endmenu diff --git a/package/ocf-linux/Config.in b/package/ocf-linux/Config.in new file mode 100644 index 0000000..3c3a08e --- /dev/null +++ b/package/ocf-linux/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_OCF_LINUX + bool "ocf-linux" + help + OCF-Linux is a Linux port of the OpenBSD/FreeBSD Cryptographic + Framework (OCF). This port aims to bring full asynchronous HW/SW + crypto acceleration to the Linux kernel and applications + running under Linux. + + You need to enable the OCF linux kernel extension or provide + a prepatched kernel to make this option useful. + + http://ocf-linux.sourceforge.net/ diff --git a/package/ocf-linux/ocf-linux.mk b/package/ocf-linux/ocf-linux.mk new file mode 100644 index 0000000..e615225 --- /dev/null +++ b/package/ocf-linux/ocf-linux.mk @@ -0,0 +1,21 @@ +############################################################# +# +# ocf-linux +# +############################################################# + +OCF_LINUX_VERSION = 20120127 +OCF_LINUX_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/project/ocf-linux/ocf-linux/$(OCF_LINUX_VERSION) +OCF_LINUX_INSTALL_STAGING = YES + +define OCF_LINUX_INSTALL_STAGING_CMDS + $(INSTALL) -D -m 644 $(@D)/ocf/cryptodev.h \ + $(STAGING_DIR)/usr/include/crypto/cryptodev.h +endef + +define OCF_LINUX_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 644 $(@D)/ocf/cryptodev.h \ + $(TARGET_DIR)/usr/include/crypto/cryptodev.h +endef + +$(eval $(call GENTARGETS))
Add the ocf-linux package and linux kernel extension. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> --- linux/Config.ext.in | 12 ++++++++++++ linux/linux-ext-ocf-linux.mk | 21 +++++++++++++++++++++ package/Config.in | 1 + package/ocf-linux/Config.in | 12 ++++++++++++ package/ocf-linux/ocf-linux.mk | 21 +++++++++++++++++++++ 5 files changed, 67 insertions(+), 0 deletions(-) create mode 100644 linux/linux-ext-ocf-linux.mk create mode 100644 package/ocf-linux/Config.in create mode 100644 package/ocf-linux/ocf-linux.mk