[meta-intel] [meta-intel-qat][PATCH v4 1/1] qat: update to qat17_4.1.0-00022

Tan, Raymond raymond.tan at intel.com
Tue Jun 5 19:17:06 PDT 2018


- update qat17 version to 4.1.0-00022
- update previous patch to redefine yocto specific kernel path
- merge and clean up qat17.inc into bb file
- patch cpa_sample_code to use static lib for linking
- generate qat17-src package which contains full source

Signed-off-by: Tan, Raymond <raymond.tan at intel.com>
---
 .../files/qat17_0.6.0-1-qat-fix-kernel-patch.patch |  33 -----
 ...0-1-qat-update-KDIR-for-cross-compilation.patch |  38 +++++
 ...0-4-qat-add-install-target-and-add-folder.patch |  55 +++----
 ....1.0-00022-qat-use-static-lib-for-linking.patch |  30 ++++
 recipes-extended/qat/qat17.inc                     | 148 -------------------
 recipes-extended/qat/qat17_1.0.3-42.bb             |  29 ----
 recipes-extended/qat/qat17_4.1.0-00022.bb          | 164 +++++++++++++++++++++
 7 files changed, 260 insertions(+), 237 deletions(-)
 delete mode 100644 recipes-extended/qat/files/qat17_0.6.0-1-qat-fix-kernel-patch.patch
 create mode 100644 recipes-extended/qat/files/qat17_0.6.0-1-qat-update-KDIR-for-cross-compilation.patch
 create mode 100644 recipes-extended/qat/files/qat17_4.1.0-00022-qat-use-static-lib-for-linking.patch
 delete mode 100644 recipes-extended/qat/qat17.inc
 delete mode 100644 recipes-extended/qat/qat17_1.0.3-42.bb
 create mode 100644 recipes-extended/qat/qat17_4.1.0-00022.bb

diff --git a/recipes-extended/qat/files/qat17_0.6.0-1-qat-fix-kernel-patch.patch b/recipes-extended/qat/files/qat17_0.6.0-1-qat-fix-kernel-patch.patch
deleted file mode 100644
index 8b59c0a..0000000
--- a/recipes-extended/qat/files/qat17_0.6.0-1-qat-fix-kernel-patch.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 7950a07afaa44eef17b1cab9c036953036878d73 Mon Sep 17 00:00:00 2001
-From: Wu Chia Chuan <chia.chuan.wu at intel.com>
-Date: Wed, 28 Oct 2015 16:43:47 +0800
-Subject: [PATCH]  fix kernel patch
-
-Signed-off-by: Wu Chia Chuan <chia.chuan.wu at intel.com>
----
- quickassist/qat/Makefile |    6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/quickassist/qat/Makefile b/quickassist/qat/Makefile
-index 319665d..36db6e6 100755
---- a/quickassist/qat/Makefile
-+++ b/quickassist/qat/Makefile
-@@ -6,13 +6,13 @@ export CONFIG_CRYPTO_DEV_QAT_C62X=m
- export QAT_UIO?=y
-
- ifeq ($(KERNELRELEASE),)
--KDIR ?= $(INSTALL_MOD_PATH)/lib/modules/$(shell uname -r)/build
--ifneq ($(shell if [ -e $(KDIR)/include/config/auto.conf ]; then echo 1; fi),1)
-+KDIR ?= $(KERNEL_SOURCE_ROOT)
-+ifneq ($(shell if [ -e $(KERNEL_BUILDDIR)/include/config/auto.conf ]; then echo 1; fi),1)
-   $(error ERROR: Kernel header files not found.  Install the appropriate \
-     kernel development package necessary for building external kernel modules \
-     or run 'make oldconfig && make modules_prepare' on kernel src to fix it)
- endif
--include $(KDIR)/include/config/auto.conf
-+include $(KERNEL_BUILDDIR)/include/config/auto.conf
- INSTALL_FW_PATH ?= $(INSTALL_MOD_PATH)/lib/firmware
-
- default: modules
---
-1.7.9.5
diff --git a/recipes-extended/qat/files/qat17_0.6.0-1-qat-update-KDIR-for-cross-compilation.patch b/recipes-extended/qat/files/qat17_0.6.0-1-qat-update-KDIR-for-cross-compilation.patch
new file mode 100644
index 0000000..78fc44b
--- /dev/null
+++ b/recipes-extended/qat/files/qat17_0.6.0-1-qat-update-KDIR-for-cross-compilation.patch
@@ -0,0 +1,38 @@
+From ae306d58c1bfc3d1c01d0e54ecfbfbbce39a0d4e Mon Sep 17 00:00:00 2001
+From: "Tan, Raymond" <raymond.tan at intel.com>
+Date: Wed, 30 May 2018 22:17:58 +0800
+Subject: [PATCH] update KDIR for cross-compilation
+
+Upstream-Status: Inappropriate [Configuration]
+
+This patch updates the kernel path for cross-compilation, avoid using the host
+machine path.
+
+Signed-off-by: Tan, Raymond <raymond.tan at intel.com>
+---
+ quickassist/qat/Makefile | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/quickassist/qat/Makefile b/quickassist/qat/Makefile
+index ab9a381..8608378 100644
+--- a/quickassist/qat/Makefile
++++ b/quickassist/qat/Makefile
+@@ -61,13 +61,13 @@ $(info Compiling with Heartbeat Failure Simulation feature)
+ endif
+
+ ifeq ($(KERNELRELEASE),)
+-KDIR ?= $(INSTALL_MOD_PATH)/lib/modules/$(shell uname -r)/build
+-ifneq ($(shell if [ -e $(KDIR)/include/config/auto.conf ]; then echo 1; fi),1)
++KDIR ?= $(KERNEL_SOURCE_ROOT)
++ifneq ($(shell if [ -e $(KERNEL_BUILDDIR)/include/config/auto.conf ]; then echo 1; fi),1)
+   $(error ERROR: Kernel header files not found.  Install the appropriate \
+     kernel development package necessary for building external kernel modules \
+     or run 'make oldconfig && make modules_prepare' on kernel src to fix it)
+ endif
+-include $(KDIR)/include/config/auto.conf
++include $(KERNEL_BUILDDIR)/include/config/auto.conf
+ INSTALL_FW_PATH ?= $(INSTALL_MOD_PATH)/lib/firmware
+
+ default: modules
+--
+1.9.1
diff --git a/recipes-extended/qat/files/qat17_0.9.0-4-qat-add-install-target-and-add-folder.patch b/recipes-extended/qat/files/qat17_0.9.0-4-qat-add-install-target-and-add-folder.patch
index 7b21dc8..6b6dfa9 100644
--- a/recipes-extended/qat/files/qat17_0.9.0-4-qat-add-install-target-and-add-folder.patch
+++ b/recipes-extended/qat/files/qat17_0.9.0-4-qat-add-install-target-and-add-folder.patch
@@ -1,14 +1,19 @@
-From 9f190755ea165cd2391cfa5b5a54dfe00961f72c Mon Sep 17 00:00:00 2001
-From: "Goh, Wen Sen" <wen.sen.goh at intel.com>
-Date: Fri, 18 Nov 2016 10:52:37 +0800
+From 22963fed4e9017ca05855bd2373e2467f45ebe30 Mon Sep 17 00:00:00 2001
+From: "Tan, Raymond" <raymond.tan at intel.com>
+Date: Mon, 4 Jun 2018 09:26:33 +0800
 Subject: [PATCH] qat-add-install-target-and-add-folder
 
+Upstream-Status: Inappropriate [Configuration]
+
+Modify Makefile to add install target and add folder
+
+Signed-off-by: Tan, Raymond <raymond.tan at intel.com>
 ---
- quickassist/Makefile | 30 +++++++++++++++++++++++++++---
- 1 file changed, 27 insertions(+), 3 deletions(-)
+ quickassist/Makefile | 25 ++++++++++++++++++++++---
+ 1 file changed, 22 insertions(+), 3 deletions(-)
 
 diff --git a/quickassist/Makefile b/quickassist/Makefile
-index 4cbff53..b57779b 100644
+index 3e08241..1647d9e 100644
 --- a/quickassist/Makefile
 +++ b/quickassist/Makefile
 @@ -64,6 +64,7 @@ ICP_BUILD_OUTPUT?=build_$(DATE)
@@ -16,43 +21,36 @@ index 4cbff53..b57779b 100644
  export ICP_ACCEL_INC=YES
  LAC_LIB_DIR=$(LAC_PATH)/build/libs
 +MODULE_INSTALLPATH=$(SAMPLE_BUILD_OUTPUT)/lib/modules/$(QAT_KERNEL_VER)/updates/drivers/crypto/qat
-
+ 
  #Release Package build steps
  ALL_TARGETS =  clean lac_lib_dir qat_direct libosal_user lac_user
-@@ -80,10 +81,21 @@ all: $(ALL_TARGETS)
-
+@@ -80,10 +81,14 @@ all: $(ALL_TARGETS)
+ 
  user: lac_lib_dir libosal_user lac_user
-
+ 
 +install: output_dir install_scripts
-+	@cp $(KO_INTEL_QAT)/intel_qat.ko $(MODULE_INSTALLPATH)/qat_common;
-+	@cp $(KO_QAT_C3XXX)/qat_c3xxx.ko $(MODULE_INSTALLPATH)/qat_c3xxx;
-+	@cp $(KO_QAT_C3XXXVF)/qat_c3xxxvf.ko $(MODULE_INSTALLPATH)/qat_c3xxxvf;
-+	@cp $(KO_QAT_C62X)/qat_c62x.ko $(MODULE_INSTALLPATH)/qat_c62x;
-+	@cp $(KO_QAT_C62XVF)/qat_c62xvf.ko $(MODULE_INSTALLPATH)/qat_c62xvf;
-+	@cp $(KO_QAT_DH895XCC)/qat_dh895xcc.ko $(MODULE_INSTALLPATH)/qat_dh895xcc;
-+	@cp $(KO_QAT_DH895XCCVF)/qat_dh895xccvf.ko $(MODULE_INSTALLPATH)/qat_dh895xccvf;
 +	@cp $(ICP_ROOT)/quickassist/utilities/libusdm_drv/usdm_drv.ko $(MODULE_INSTALLPATH);
 +	@cp $(ICP_ROOT)/quickassist/lookaside/access_layer/src/sample_code/performance/build/linux_2.6/user_space/cpa_sample_code $(ICP_BUILD_OUTPUT)$(DEST_BINDIR);
 +
  install_scripts:
-	@echo ; echo 'Copying Install Scripts';
+ 	@echo ; echo 'Copying Install Scripts';
 -	@cp $(ICP_BUILDSYSTEM_PATH)/build_files/qat_service $(ICP_BUILD_OUTPUT)/;
 -	@chmod 750 $(ICP_BUILD_OUTPUT)/qat_service;
 +	@cp $(ICP_BUILDSYSTEM_PATH)/build_files/qat_service $(ICP_BUILD_OUTPUT)/etc/init.d;
 +	@chmod 750 $(ICP_BUILD_OUTPUT)/etc/init.d/qat_service;
-
+ 
  #
  # Common memory driver
-@@ -143,8 +155,20 @@ ifeq ($(ICP_NO_CLEAN),)
+@@ -143,8 +148,22 @@ ifeq ($(ICP_NO_CLEAN),)
  endif
-
-
+ 
+ 
 -output_dir: clean
 +output_dir:
-	test -d $(ICP_BUILD_OUTPUT) || mkdir -p $(ICP_BUILD_OUTPUT);
+ 	test -d $(ICP_BUILD_OUTPUT) || mkdir -p $(ICP_BUILD_OUTPUT);
 +	test -d $(ICP_BUILD_OUTPUT)$(DEST_LIBDIR) || mkdir -p $(ICP_BUILD_OUTPUT)$(DEST_LIBDIR);
 +	test -d $(ICP_BUILD_OUTPUT)$(DEST_BINDIR) || mkdir -p $(ICP_BUILD_OUTPUT)$(DEST_BINDIR);
-+	test -d $(ICP_BUILD_OUTPUT)/lib/firmware/$(ICP_FIRMWARE_DIR) || mkdir -p $(ICP_BUILD_OUTPUT)/lib/firmware/$(ICP_FIRMWARE_DIR);
++	test -d $(ICP_BUILD_OUTPUT)/lib/firmware || mkdir -p $(ICP_BUILD_OUTPUT)/lib/firmware;
 +	test -d $(ICP_BUILD_OUTPUT)/lib/modules/$(QAT_KERNEL_VER)/updates/drivers/crypto/qat || mkdir -p $(ICP_BUILD_OUTPUT)/lib/modules/$(QAT_KERNEL_VER)/updates/drivers/crypto/qat;
 +	test -d $(ICP_BUILD_OUTPUT)/lib/modules/$(QAT_KERNEL_VER)/updates/drivers/crypto/qat/qat_common || mkdir -p $(ICP_BUILD_OUTPUT)/lib/modules/$(QAT_KERNEL_VER)/updates/drivers/crypto/qat/qat_common;
 +	test -d $(ICP_BUILD_OUTPUT)/lib/modules/$(QAT_KERNEL_VER)/updates/drivers/crypto/qat/qat_c3xxx || mkdir -p $(ICP_BUILD_OUTPUT)/lib/modules/$(QAT_KERNEL_VER)/updates/drivers/crypto/qat/qat_c3xxx;
@@ -61,9 +59,12 @@ index 4cbff53..b57779b 100644
 +	test -d $(ICP_BUILD_OUTPUT)/lib/modules/$(QAT_KERNEL_VER)/updates/drivers/crypto/qat/qat_c62xvf || mkdir -p $(ICP_BUILD_OUTPUT)/lib/modules/$(QAT_KERNEL_VER)/updates/drivers/crypto/qat/qat_c62xvf;
 +	test -d $(ICP_BUILD_OUTPUT)/lib/modules/$(QAT_KERNEL_VER)/updates/drivers/crypto/qat/qat_dh895xcc || mkdir -p $(ICP_BUILD_OUTPUT)/lib/modules/$(QAT_KERNEL_VER)/updates/drivers/crypto/qat/qat_dh895xcc;
 +	test -d $(ICP_BUILD_OUTPUT)/lib/modules/$(QAT_KERNEL_VER)/updates/drivers/crypto/qat/qat_dh895xccvf || mkdir -p $(ICP_BUILD_OUTPUT)/lib/modules/$(QAT_KERNEL_VER)/updates/drivers/crypto/qat/qat_dh895xccvf;
++	test -d $(ICP_BUILD_OUTPUT)/lib/modules/$(QAT_KERNEL_VER)/updates/drivers/crypto/qat/qat_d15xx || mkdir -p $(ICP_BUILD_OUTPUT)/lib/modules/$(QAT_KERNEL_VER)/updates/drivers/crypto/qat/qat_d15xx;
++	test -d $(ICP_BUILD_OUTPUT)/lib/modules/$(QAT_KERNEL_VER)/updates/drivers/crypto/qat/qat_d15xxvf || mkdir -p $(ICP_BUILD_OUTPUT)/lib/modules/$(QAT_KERNEL_VER)/updates/drivers/crypto/qat/qat_d15xxvf;
 +	test -d $(ICP_BUILD_OUTPUT)/etc/init.d || mkdir -p $(ICP_BUILD_OUTPUT)/etc/init.d;
-
+ 
  lac_lib_dir: clean
-	test -d $(LAC_LIB_DIR) || mkdir -p $(LAC_LIB_DIR);
---
+ 	test -d $(LAC_LIB_DIR) || mkdir -p $(LAC_LIB_DIR);
+-- 
 1.9.1
+
diff --git a/recipes-extended/qat/files/qat17_4.1.0-00022-qat-use-static-lib-for-linking.patch b/recipes-extended/qat/files/qat17_4.1.0-00022-qat-use-static-lib-for-linking.patch
new file mode 100644
index 0000000..f786a10
--- /dev/null
+++ b/recipes-extended/qat/files/qat17_4.1.0-00022-qat-use-static-lib-for-linking.patch
@@ -0,0 +1,30 @@
+From 026fd275834ac4e345464c8ce2b0163d052d0262 Mon Sep 17 00:00:00 2001
+From: "Tan, Raymond" <raymond.tan at intel.com>
+Date: Wed, 30 May 2018 13:27:03 +0800
+Subject: [PATCH] qat-use-static-lib-for-linking-under-cpa-sample-code
+
+Upstream-Status: Inappropriate [Configuration]
+
+Update linking target to use stalib library instead, to mitigate error on
+hidden symbol "__ctzdi2" being referenced by shared lib (SO) during intel-core2-32 build.
+
+Signed-off-by: Tan, Raymond <raymond.tan at intel.com>
+---
+ quickassist/lookaside/access_layer/src/sample_code/performance/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/quickassist/lookaside/access_layer/src/sample_code/performance/Makefile b/quickassist/lookaside/access_layer/src/sample_code/performance/Makefile
+index 3a0fb37..5b7b3fa 100644
+--- a/quickassist/lookaside/access_layer/src/sample_code/performance/Makefile
++++ b/quickassist/lookaside/access_layer/src/sample_code/performance/Makefile
+@@ -209,7 +209,7 @@ ifeq ($(WITH_CMDRV),1)
+	ifeq ($(WITH_ICP_TARGET),1)
+	ADDITIONAL_OBJECTS += $(ICP_BUILD_OUTPUT)/libqae_mem.a
+	else
+-	ADDITIONAL_OBJECTS += $(ICP_BUILD_OUTPUT)/libusdm_drv_s.so
++	ADDITIONAL_OBJECTS += $(ICP_BUILD_OUTPUT)/libusdm_drv.a
+	endif
+ endif
+ #endif
+--
+1.9.1
diff --git a/recipes-extended/qat/qat17.inc b/recipes-extended/qat/qat17.inc
deleted file mode 100644
index 76e5487..0000000
--- a/recipes-extended/qat/qat17.inc
+++ /dev/null
@@ -1,148 +0,0 @@
-DESCRIPTION = "Intel(r) QuickAssist Technology API"
-HOMEPAGE = "https://01.org/packet-processing/intel%C2%AE-quickassist-technology-drivers-and-patches"
-
-#Dual BSD and GPLv2 License
-LICENSE = "BSD & GPLv2"
-LIC_FILES_CHKSUM = "\
-                    file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 \
-                    file://${COMMON_LICENSE_DIR}/BSD;md5=3775480a712fc46a69647678acb234cb \
-                    "
-DEPENDS += "boost"
-DEPENDS += "udev"
-DEPENDS += "zlib openssl"
-PROVIDES += "virtual/qat"
-
-SRC_URI="file://qat16_2.3.0-34-qat-fix-for-cross-compilation-issue.patch \
-         file://qat16_2.3.0-34-qat-remove-local-path-from-makefile.patch \
-         file://qat16_2.3.0-34-make-sure-CFLAGS-are-correct.patch \
-         "
-#https://01.org/sites/default/files/page/qatmux.l.${PV}.tgz;name=qat
-COMPATIBLE_MACHINE = "crystalforest|intel-corei7-64|intel-core2-32"
-COMPATIBLE_HOST_x86-x32 = 'null'
-COMPATIBLE_HOST_libc-musl_class-target = 'null'
-
-S = "${WORKDIR}"
-ICP_TOOLS = "accelcomp"
-SAMPLE_CODE_DIR = "${S}/quickassist/lookaside/access_layer/src/sample_code"
-export INSTALL_MOD_PATH = "${D}"
-export ICP_DRIVER_TYPE = "QAT1.7"
-export ICP_FIRMWARE_DIR="c3xxx"
-export ICP_ROOT = "${S}"
-export ICP_ENV_DIR = "${S}/quickassist/build_system/build_files/env_files"
-export ICP_BUILDSYSTEM_PATH = "${S}/quickassist/build_system"
-export ICP_TOOLS_TARGET = "${ICP_TOOLS}"
-export FUNC_PATH = "${ICP_ROOT}/quickassist/lookaside/access_layer/src/sample_code/functional"
-export INSTALL_FW_PATH = "${D}${base_libdir}/firmware"
-export KERNEL_SOURCE_ROOT = "${STAGING_KERNEL_DIR}"
-export ICP_BUILD_OUTPUT = "${D}"
-export DEST_LIBDIR = "${libdir}"
-export DEST_BINDIR = "${bindir}"
-export QAT_KERNEL_VER = "${KERNEL_VERSION}"
-export SAMPLE_BUILD_OUTPUT = "${D}"
-export MODULE_DIR = "${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers"
-export INSTALL_MOD_DIR = "${D}${base_libdir}/modules/${KERNEL_VERSION}"
-export KERNEL_BUILDDIR = "${STAGING_KERNEL_BUILDDIR}"
-export SC_EPOLL_DISABLED = "1"
-export WITH_UPSTREAM = "1"
-export WITH_CMDRV = "1"
-export KERNEL_SOURCE_DIR = "${ICP_ROOT}/quickassist/qat/"
-
-export BIN_LIST="qat_c3xxx.bin qat_c3xxx_a0.bin qat_c3xxx_mmp.bin qat_c62x.bin qat_c62x_mmp.bin"
-export BIN_DH895XCC="qat_895xcc.bin qat_mmp.bin"
-export BIN_C62X="qat_c62x.bin qat_c62x_mmp.bin"
-export BIN_C3XXX="qat_c3xxx.bin qat_c3xxx_mmp.bin"
-
-export KO_INTEL_QAT="${S}/quickassist/qat/drivers/crypto/qat/qat_common"
-export KO_QAT_DH895XCC="${S}/quickassist/qat/drivers/crypto/qat/qat_dh895xcc"
-export KO_QAT_DH895XCCVF="${S}/quickassist/qat/drivers/crypto/qat/qat_dh895xccvf"
-export KO_QAT_C62X="${S}/quickassist/qat/drivers/crypto/qat/qat_c62x"
-export KO_QAT_C62XVF="${S}/quickassist/qat/drivers/crypto/qat/qat_c62xvf"
-export KO_QAT_C3XXX="${S}/quickassist/qat/drivers/crypto/qat/qat_c3xxx"
-export KO_QAT_C3XXXVF="${S}/quickassist/qat/drivers/crypto/qat/qat_c3xxxvf"
-
-inherit module
-inherit update-rc.d
-INITSCRIPT_NAME = "qat_service"
-
-PARALLEL_MAKE = ""
-
-#To get around the double slashes in paths in QAT makefiles
-PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src"
-
-EXTRA_OEMAKE_append = " CFLAGS+='-fgnu89-inline -fPIC'"
-EXTRA_OEMAKE = "-e MAKEFLAGS="
-
-do_compile () {
-	export LD="${LD} --hash-style=gnu"
-	export MACHINE="${TARGET_ARCH}"
-
-        cd ${S}/quickassist
-        oe_runmake
-
-	cd ${S}/quickassist/qat
-	oe_runmake 'clean'
-	oe_runmake 'modules_install'
-
-	cd ${S}/quickassist/utilities/adf_ctl
-	oe_runmake
-
-	cd ${S}/quickassist/utilities/libusdm_drv
-        oe_runmake
-
-	#build the whole sample code: per_user only
-	cd ${SAMPLE_CODE_DIR}
-	oe_runmake 'perf_user'
-}
-
-do_install() {
-	cp ${TOPDIR}/downloads/qat1.7.upstream.l.${PV}.tar.gz ${S}
-	export MACHINE="${TARGET_ARCH}"
-
-	cd ${S}/quickassist
-        oe_runmake install
-
-        install -d ${D}/etc/udev/rules.d
-	install -d ${D}${sbindir}
-	install -d ${D}${sysconfdir}/conf_files
-	install -d ${D}${prefix}/qat
-
-	echo 'KERNEL=="icp_adf_ctl" MODE="0600"' > ${D}/etc/udev/rules.d/00-dh895xcc_qa.rules
-	echo 'KERNEL=="icp_dev[0-9]*" MODE="0600"' >> ${D}/etc/udev/rules.d/00-dh895xcc_qa.rules
-	echo 'KERNEL=="icp_dev_mem?" MODE="0600"' >> ${D}/etc/udev/rules.d/00-dh895xcc_qa.rules
-
-	install -m 0755 ${S}/qat1.7.upstream.l.${PV}.tar.gz ${D}${prefix}/qat
-
-	install -D -m 0755 ${S}/quickassist/lookaside/access_layer/src/build/linux_2.6/user_space/*.so ${D}${base_libdir}
-	install -D -m 0755 ${S}/quickassist/utilities/libusdm_drv/libusdm_drv_s.so ${D}${base_libdir}
-	install -D -m 0750 ${S}/quickassist/utilities/adf_ctl/adf_ctl ${D}${sbindir}
-	install -D -m 640 ${S}/quickassist/utilities/adf_ctl/conf_files/c3xxx_dev0.conf  ${D}${sysconfdir}
-	install -D -m 640 ${S}/quickassist/utilities/adf_ctl/conf_files/c3xxx_dev0.conf  ${D}${sysconfdir}/conf_files
-	install -D -m 640 ${S}/quickassist/utilities/adf_ctl/conf_files/c3xxxvf_dev0.conf.vm  ${D}${sysconfdir}/conf_files
-	install -m 0755 ${S}/quickassist/qat/fw/qat_c3xxx.bin  ${D}${base_libdir}/firmware
-	install -m 0755 ${S}/quickassist/qat/fw/qat_c3xxx_a0.bin  ${D}${base_libdir}/firmware
-	install -m 0755 ${S}/quickassist/qat/fw/qat_c3xxx_mmp.bin  ${D}${base_libdir}/firmware
-	install -m 0755 ${S}/quickassist/qat/fw/qat_c62x.bin  ${D}${base_libdir}/firmware
-	install -m 0755 ${S}/quickassist/qat/fw/qat_c62x_mmp.bin  ${D}${base_libdir}/firmware
-	install -m 0755 ${S}/quickassist/lookaside/access_layer/src/sample_code/performance/compression/calgary  ${D}${base_libdir}/firmware
-	install -m 0755 ${S}/quickassist/lookaside/access_layer/src/sample_code/performance/compression/calgary32  ${D}${base_libdir}/firmware
-	install -m 0755 ${S}/quickassist/lookaside/access_layer/src/sample_code/performance/compression/canterbury  ${D}${base_libdir}/firmware
-}
-
-PACKAGES += "${PN}-app"
-
-FILES_${PN}-dev = "${includedir}/ \
-                  "
-FILES_${PN} += "\
-                ${libdir}/ \
-                ${base_libdir}/firmware \
-                ${sysconfdir}/ \
-		${sbindir}/ \
-		${base_libdir}/*.so \
-                "
-
-FILES_${PN}-dbg += "${sysconfdir}/init.d/.debug/ \
-		   "
-
-FILES_${PN}-app += "${bindir}/* \
-		    ${prefix}/qat \
-		   "
diff --git a/recipes-extended/qat/qat17_1.0.3-42.bb b/recipes-extended/qat/qat17_1.0.3-42.bb
deleted file mode 100644
index 4f6d35c..0000000
--- a/recipes-extended/qat/qat17_1.0.3-42.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-include qat17.inc
-
-DESCRIPTION = "Intel(r) QuickAssist Technology API"
-HOMEPAGE = "https://01.org/packet-processing/intel%C2%AE-quickassist-technology-drivers-and-patches"
-
-#Dual BSD and GPLv2 License
-LICENSE = "BSD & GPLv2"
-
-TARGET_CC_ARCH += "${LDFLAGS}"
-
-SRC_URI="https://01.org/sites/default/files/downloads/intelr-quickassist-technology/qat1.7.upstream.l.1.0.3-42.tar.gz \
-         file://qat16_2.3.0-34-qat-remove-local-path-from-makefile.patch \
-         file://qat16_2.6.0-65-qat-override-CC-LD-AR-only-when-it-is-not-define.patch \
-         file://qat17_0.6.0-1-qat-fix-kernel-patch.patch \
-         file://qat17_0.8.0-37-qat-added-include-dir-path.patch \
-         file://qat17_0.9.0-4-qat-add-install-target-and-add-folder.patch \
-         "
-
-SRC_URI[md5sum] = "ee059cf134486f5684466555e8636ee0"
-SRC_URI[sha256sum] = "84d2c4a242987548135274da7c3def31461af6f1b4beb74f519a993e854abf5b"
-
-# Support for 4.14 not yet available
-python () {
-    if d.getVar("PREFERRED_PROVIDER_virtual/kernel") == "linux-intel" and \
-       d.getVar("PREFERRED_VERSION_linux-intel") == "4.14%" or \
-       d.getVar("PREFERRED_PROVIDER_virtual/kernel") == "linux-intel-rt" and \
-       d.getVar("PREFERRED_VERSION_linux-intel-rt") == "4.14%":
-        raise bb.parse.SkipPackage("This version of QAT has not been tested with Linux Kernel 4.14 or newer")
-}
diff --git a/recipes-extended/qat/qat17_4.1.0-00022.bb b/recipes-extended/qat/qat17_4.1.0-00022.bb
new file mode 100644
index 0000000..31ba737
--- /dev/null
+++ b/recipes-extended/qat/qat17_4.1.0-00022.bb
@@ -0,0 +1,164 @@
+DESCRIPTION = "Intel(r) QuickAssist Technology API"
+HOMEPAGE = "https://01.org/packet-processing/intel%C2%AE-quickassist-technology-drivers-and-patches"
+
+#Dual BSD and GPLv2 License
+LICENSE = "BSD & GPLv2"
+LIC_FILES_CHKSUM = "\
+                    file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 \
+                    file://${COMMON_LICENSE_DIR}/BSD;md5=3775480a712fc46a69647678acb234cb \
+                    "
+DEPENDS += "boost"
+DEPENDS += "udev"
+DEPENDS += "zlib openssl"
+PROVIDES += "virtual/qat"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+SRC_URI="https://01.org/sites/default/files/downloads/intelr-quickassist-technology/qat1.7.l.4.1.0-00022.tar.gz;subdir=qat17 \
+         file://qat16_2.3.0-34-qat-remove-local-path-from-makefile.patch \
+         file://qat16_2.6.0-65-qat-override-CC-LD-AR-only-when-it-is-not-define.patch \
+         file://qat17_0.6.0-1-qat-update-KDIR-for-cross-compilation.patch \
+         file://qat17_0.8.0-37-qat-added-include-dir-path.patch \
+         file://qat17_0.9.0-4-qat-add-install-target-and-add-folder.patch \
+         file://qat17_4.1.0-00022-qat-use-static-lib-for-linking.patch \
+         "
+
+SRC_URI[md5sum] = "29ab942f9c151d3c0e025accfd971ee6"
+SRC_URI[sha256sum] = "6caa72c65b9350f1708b2ed341e40ae3c6881953c501d0fbb7e2f8affaa5e025"
+
+COMPATIBLE_MACHINE = "null"
+COMPATIBLE_HOST_x86-x32 = 'null'
+COMPATIBLE_HOST_libc-musl_class-target = 'null'
+
+S = "${WORKDIR}/qat17"
+ICP_TOOLS = "accelcomp"
+SAMPLE_CODE_DIR = "${S}/quickassist/lookaside/access_layer/src/sample_code"
+export INSTALL_MOD_PATH = "${D}"
+export ICP_ROOT = "${S}"
+export ICP_ENV_DIR = "${S}/quickassist/build_system/build_files/env_files"
+export ICP_BUILDSYSTEM_PATH = "${S}/quickassist/build_system"
+export ICP_TOOLS_TARGET = "${ICP_TOOLS}"
+export FUNC_PATH = "${ICP_ROOT}/quickassist/lookaside/access_layer/src/sample_code/functional"
+export INSTALL_FW_PATH = "${D}${base_libdir}/firmware"
+export KERNEL_SOURCE_ROOT = "${STAGING_KERNEL_DIR}"
+export ICP_BUILD_OUTPUT = "${D}"
+export DEST_LIBDIR = "${libdir}"
+export DEST_BINDIR = "${bindir}"
+export QAT_KERNEL_VER = "${KERNEL_VERSION}"
+export SAMPLE_BUILD_OUTPUT = "${D}"
+export INSTALL_MOD_DIR = "${D}${base_libdir}/modules/${KERNEL_VERSION}"
+export KERNEL_BUILDDIR = "${STAGING_KERNEL_BUILDDIR}"
+export SC_EPOLL_DISABLED = "1"
+export WITH_UPSTREAM = "1"
+export WITH_CMDRV = "1"
+export KERNEL_SOURCE_DIR = "${ICP_ROOT}/quickassist/qat/"
+export ICP_NO_CLEAN = "1"
+
+inherit module
+inherit update-rc.d
+INITSCRIPT_NAME = "qat_service"
+
+PARALLEL_MAKE = ""
+
+EXTRA_OEMAKE_append = " CFLAGS+='-fgnu89-inline -fPIC'"
+EXTRA_OEMAKE = "-e MAKEFLAGS="
+
+do_copy_src () {
+  mkdir -p ${WORKDIR}/qat_src
+  cp -rPR ${S}/* ${WORKDIR}/qat_src
+}
+
+addtask do_copy_src after do_unpack before do_patch
+
+do_compile () {
+  export LD="${LD} --hash-style=gnu"
+  export MACHINE="${TARGET_ARCH}"
+
+  cd ${S}/quickassist
+  oe_runmake
+
+  cd ${S}/quickassist/qat
+  oe_runmake 'clean'
+  oe_runmake 'modules_install'
+
+  cd ${S}/quickassist/utilities/adf_ctl
+  oe_runmake
+
+  cd ${S}/quickassist/utilities/libusdm_drv
+  oe_runmake
+
+  #build the whole sample code: per_user only
+  cd ${SAMPLE_CODE_DIR}
+  oe_runmake 'perf_user'
+}
+
+do_install() {
+  export MACHINE="${TARGET_ARCH}"
+
+  cd ${S}/quickassist
+  oe_runmake install
+
+  cd ${S}/quickassist/qat
+  oe_runmake modules_install
+
+  install -d ${D}${sysconfdir}/udev/rules.d
+  install -d ${D}${sbindir}
+  install -d ${D}${sysconfdir}/conf_files
+  install -d ${D}${prefix}/qat
+
+  echo 'KERNEL=="qat_adf_ctl" MODE="0660" GROUP="qat"' > ${D}/etc/udev/rules.d/00-qat.rules
+  echo 'KERNEL=="qat_dev_processes" MODE="0660" GROUP="qat"' >> ${D}/etc/udev/rules.d/00-qat.rules
+  echo 'KERNEL=="usdm_drv" MODE="0660" GROUP="qat"' >> ${D}/etc/udev/rules.d/00-qat.rules
+  echo 'KERNEL=="uio*" MODE="0660" GROUP="qat"' >> ${D}/etc/udev/rules.d/00-qat.rules
+  echo 'KERNEL=="hugepages" MODE="0660" GROUP="qat"' >> ${D}/etc/udev/rules.d/00-qat.rules
+
+  install -D -m 0755 ${S}/quickassist/lookaside/access_layer/src/build/linux_2.6/user_space/libqat_s.so ${D}${base_libdir}
+  install -D -m 0755 ${S}/quickassist/utilities/libusdm_drv/libusdm_drv_s.so ${D}${base_libdir}
+  install -D -m 0750 ${S}/quickassist/utilities/adf_ctl/adf_ctl ${D}${sbindir}
+
+  install -D -m 640 ${S}/quickassist/utilities/adf_ctl/conf_files/c3xxx_dev0.conf  ${D}${sysconfdir}
+  install -D -m 640 ${S}/quickassist/utilities/adf_ctl/conf_files/*.conf  ${D}${sysconfdir}/conf_files
+  install -D -m 640 ${S}/quickassist/utilities/adf_ctl/conf_files/*.conf.vm  ${D}${sysconfdir}/conf_files
+
+  install -m 0755 ${S}/quickassist/qat/fw/qat_c3xxx.bin  ${D}${base_libdir}/firmware
+  install -m 0755 ${S}/quickassist/qat/fw/qat_c3xxx_mmp.bin  ${D}${base_libdir}/firmware
+  install -m 0755 ${S}/quickassist/qat/fw/qat_c62x.bin  ${D}${base_libdir}/firmware
+  install -m 0755 ${S}/quickassist/qat/fw/qat_c62x_mmp.bin  ${D}${base_libdir}/firmware
+  install -m 0755 ${S}/quickassist/qat/fw/qat_895xcc.bin  ${D}${base_libdir}/firmware
+  install -m 0755 ${S}/quickassist/qat/fw/qat_895xcc_mmp.bin  ${D}${base_libdir}/firmware
+  install -m 0755 ${S}/quickassist/qat/fw/qat_d15xx.bin  ${D}${base_libdir}/firmware
+  install -m 0755 ${S}/quickassist/qat/fw/qat_d15xx_mmp.bin  ${D}${base_libdir}/firmware
+
+  install -m 0755 ${S}/quickassist/lookaside/access_layer/src/sample_code/performance/compression/calgary  ${D}${base_libdir}/firmware
+  install -m 0755 ${S}/quickassist/lookaside/access_layer/src/sample_code/performance/compression/calgary32  ${D}${base_libdir}/firmware
+  install -m 0755 ${S}/quickassist/lookaside/access_layer/src/sample_code/performance/compression/canterbury  ${D}${base_libdir}/firmware
+
+  #install qat source
+  if [ -d ${WORKDIR}/qat_src ]; then
+    mkdir -p ${D}/opt/qat
+    cp -rPR ${WORKDIR}/qat_src/*  ${D}/opt/qat/
+  fi
+}
+
+PACKAGES += "${PN}-app ${PN}-src"
+
+FILES_${PN}-dev = "${includedir}/ \
+                   "
+
+FILES_${PN} += "\
+                ${libdir}/ \
+                ${base_libdir}/firmware \
+                ${sysconfdir}/ \
+                ${sbindir}/ \
+                ${base_libdir}/*.so \
+                "
+
+FILES_${PN}-dbg += "${sysconfdir}/init.d/.debug/ \
+                    "
+
+FILES_${PN}-app += "${bindir}/* \
+                    ${prefix}/qat \
+                    "
+
+FILES_${PN}-src += "/opt/qat/* \
+                    "
-- 
1.9.1



More information about the meta-intel mailing list