aboutsummaryrefslogtreecommitdiff
path: root/package/ocf-linux
diff options
context:
space:
mode:
authorGravatar Gustavo Zacarias <gustavo@zacarias.com.ar>2013-04-27 10:09:44 +0000
committerGravatar Peter Korsgaard <jacmet@sunsite.dk>2013-05-05 22:59:14 +0200
commit20e1e84272701413574633dafe207b40c2a5d6dd (patch)
tree36e3a283a7aa19efc68c7615945aa2319cfd2bed /package/ocf-linux
parent80ebf12906afc3a1e5f4e5682d4c5dc0779a556a (diff)
downloadbuildroot-20e1e84272701413574633dafe207b40c2a5d6dd.tar.gz
buildroot-20e1e84272701413574633dafe207b40c2a5d6dd.tar.bz2
ocf-linux: remove extension and build out of tree
Remove the OCF linux kernel extension instead opting to build ocf-linux modules out of tree. This is easier for users since no kernel config tweaking is required. On the downside the OCF drivers can't be used, but then all of the kernel crypto drivers are available to users via cryptosoft which is preferred. Also remove it from the menu to utilize a virtual. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Diffstat (limited to 'package/ocf-linux')
-rw-r--r--package/ocf-linux/Config.in12
-rw-r--r--package/ocf-linux/ocf-linux-01-modules-cross.patch42
-rw-r--r--package/ocf-linux/ocf-linux.mk14
3 files changed, 52 insertions, 16 deletions
diff --git a/package/ocf-linux/Config.in b/package/ocf-linux/Config.in
deleted file mode 100644
index 9dc5766074..0000000000
--- a/package/ocf-linux/Config.in
+++ /dev/null
@@ -1,12 +0,0 @@
-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-01-modules-cross.patch b/package/ocf-linux/ocf-linux-01-modules-cross.patch
new file mode 100644
index 0000000000..f80ef062c8
--- /dev/null
+++ b/package/ocf-linux/ocf-linux-01-modules-cross.patch
@@ -0,0 +1,42 @@
+Remove the OCF linux kernel extension instead opting to build ocf-linux
+modules out of tree.
+This is easier for users since no kernel config tweaking is required.
+On the downside the OCF drivers can't be used, but then all of the
+kernel crypto drivers are available to users via cryptosoft which is
+preferred.
+
+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
+
+diff -Nura ocf-linux-20120127.orig/ocf/Makefile ocf-linux-20120127/ocf/Makefile
+--- ocf-linux-20120127.orig/ocf/Makefile 2013-04-27 09:27:04.413911866 -0300
++++ ocf-linux-20120127/ocf/Makefile 2013-04-27 09:27:31.131775576 -0300
+@@ -2,6 +2,7 @@
+ -include $(ROOTDIR)/modules/.config
+
+ OCF_OBJS = crypto.o criov.o
++KDIR ?= /lib/modules/$(shell uname -r)/build
+
+ ifdef CONFIG_OCF_RANDOMHARVEST
+ OCF_OBJS += random.o
+@@ -78,20 +79,13 @@
+ #
+
+ ocf_make:
+- make -C /lib/modules/$(shell uname -r)/build M=`pwd` $(OCF_TARGET) CONFIG_OCF_OCF=m
+- make -C /lib/modules/$(shell uname -r)/build M=`pwd` $(OCF_TARGET) CONFIG_OCF_OCF=m CONFIG_OCF_CRYPTOSOFT=m
+- -make -C /lib/modules/$(shell uname -r)/build M=`pwd` $(OCF_TARGET) CONFIG_OCF_OCF=m CONFIG_OCF_BENCH=m
+- -make -C /lib/modules/$(shell uname -r)/build M=`pwd` $(OCF_TARGET) CONFIG_OCF_OCF=m CONFIG_OCF_OCFNULL=m
+- -make -C /lib/modules/$(shell uname -r)/build M=`pwd` $(OCF_TARGET) CONFIG_OCF_OCF=m CONFIG_OCF_HIFN=m
++ make -C $(KDIR) M=`pwd` $(OCF_TARGET) CONFIG_OCF_OCF=m CONFIG_OCF_CRYPTOSOFT=m CONFIG_OCF_BENCH=m CONFIG_OCF_OCFNULL=m
+
+ ocf_modules:
+ $(MAKE) ocf_make OCF_TARGET=modules
+
+ ocf_install:
+ $(MAKE) ocf_make OCF_TARGET="modules modules_install"
+- depmod
+- mkdir -p /usr/include/crypto
+- cp cryptodev.h /usr/include/crypto/.
+
+ #
+ # generate full kernel patches for 2.4 and 2.6 kernels to make patching
diff --git a/package/ocf-linux/ocf-linux.mk b/package/ocf-linux/ocf-linux.mk
index fb5f7e8ff0..1be3a3f4b8 100644
--- a/package/ocf-linux/ocf-linux.mk
+++ b/package/ocf-linux/ocf-linux.mk
@@ -6,16 +6,22 @@
OCF_LINUX_VERSION = 20120127
OCF_LINUX_SITE = http://downloads.sourceforge.net/project/ocf-linux/ocf-linux/$(OCF_LINUX_VERSION)
+OCF_LINUX_DEPENDENCIES = linux
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
+define OCF_LINUX_BUILD_CMDS
+ $(MAKE) -C $(@D)/ocf $(LINUX_MAKE_FLAGS) KDIR=$(LINUX_DIR) \
+ ocf_modules
endef
define OCF_LINUX_INSTALL_TARGET_CMDS
+ $(MAKE) -C $(@D)/ocf $(LINUX_MAKE_FLAGS) KDIR=$(LINUX_DIR) \
+ ocf_install
+endef
+
+define OCF_LINUX_INSTALL_STAGING_CMDS
$(INSTALL) -D -m 644 $(@D)/ocf/cryptodev.h \
- $(TARGET_DIR)/usr/include/crypto/cryptodev.h
+ $(STAGING_DIR)/usr/include/crypto/cryptodev.h
endef
$(eval $(generic-package))