[meta-intel] [fido][PATCH v3 1/1] meta-crystalforest: qat recipe for riverforest

anujx.mittal at intel.com anujx.mittal at intel.com
Wed Jul 8 01:23:52 PDT 2015


From: Anuj Mittal <anujx.mittal at intel.com>

This implements the support for Intel QAT 2.3.0-34
for Intel RiverForest platforms on YP Fido.

The patches tweak QAT1.6 makefiles to make sure that ingredients
are installed at right place.

Signed-off-by: Anuj Mittal <anujx.mittal at intel.com>
---
 ....0-34-qat-add-install-target-to-makefiles.patch |  343 ++++++++++++++++++++
 ....0-34-qat-fix-for-cross-compilation-issue.patch |   40 +++
 ....0-34-qat-remove-local-path-from-makefile.patch |   31 ++
 .../recipes-extended/qat/qat16_2.3.0-34.bb         |  116 +++++++
 4 files changed, 530 insertions(+)
 create mode 100644 meta-crystalforest/recipes-extended/qat/qat16/qat16_2.3.0-34-qat-add-install-target-to-makefiles.patch
 create mode 100644 meta-crystalforest/recipes-extended/qat/qat16/qat16_2.3.0-34-qat-fix-for-cross-compilation-issue.patch
 create mode 100644 meta-crystalforest/recipes-extended/qat/qat16/qat16_2.3.0-34-qat-remove-local-path-from-makefile.patch
 create mode 100644 meta-crystalforest/recipes-extended/qat/qat16_2.3.0-34.bb

diff --git a/meta-crystalforest/recipes-extended/qat/qat16/qat16_2.3.0-34-qat-add-install-target-to-makefiles.patch b/meta-crystalforest/recipes-extended/qat/qat16/qat16_2.3.0-34-qat-add-install-target-to-makefiles.patch
new file mode 100644
index 0000000..13e933e
--- /dev/null
+++ b/meta-crystalforest/recipes-extended/qat/qat16/qat16_2.3.0-34-qat-add-install-target-to-makefiles.patch
@@ -0,0 +1,343 @@
+From 5c47f906182b19eee7a26c5f76b31c9bd5f29c78 Mon Sep 17 00:00:00 2001
+From: Anuj Mittal <anujx.mittal at intel.com>
+Date: Wed, 8 Jul 2015 11:35:27 +0800
+Subject: [PATCH] qat: add install target to makefiles
+
+Upstream-Status: Inappropriate [Configuration]
+
+Added an install target to makefiles to help
+install ingredients at a proper path.
+
+Signed-off-by: Anuj Mittal <anujx.mittal at intel.com>
+---
+ quickassist/Makefile                               |   36 +++++-----
+ .../access_layer/src/sample_code/Makefile          |   18 +++--
+ .../src/sample_code/functional/Makefile            |   71 +++++++++++---------
+ 3 files changed, 71 insertions(+), 54 deletions(-)
+
+diff --git a/quickassist/Makefile b/quickassist/Makefile
+index dcea692..01848e6 100644
+--- a/quickassist/Makefile
++++ b/quickassist/Makefile
+@@ -104,7 +104,7 @@ export DRBG_POLL_AND_WAIT=1
+ ifdef WITH_CPA_MUX
+ ALL_TARGETS = clean lac_lib_dir libosal libosal_user qat_mux hal adf adf_user lac lac_user qat-fw install_scripts
+ else
+-ALL_TARGETS =  clean lac_lib_dir libosal libosal_user hal adf adf_user lac lac_user qat-fw install_scripts
++ALL_TARGETS =  clean lac_lib_dir libosal libosal_user hal adf adf_user lac lac_user
+ endif
+ ICP_ARCH_USER?=`uname -m`
+ 
+@@ -116,7 +116,16 @@ all: $(ALL_TARGETS)
+ 	@echo 'Build Done';
+ 
+ user: lac_lib_dir libosal_user adf_user lac_user
+-kernel: lac_lib_dir libosal hal adf lac qat-fw install_scripts
++kernel: lac_lib_dir libosal hal adf lac qat-fw
++
++install: qat-fw install_scripts
++	@cp $(OSAL_PATH)/src/build/linux_2.6/user_space/libosal.a $(ICP_BUILD_OUTPUT)/$(DEST_LIBDIR);
++	@cp $(OSAL_PATH)/src/build/linux_2.6/user_space/libosal.a $(ICP_BUILD_OUTPUT)/$(DEST_LIBDIR);
++	@cp $(ADF_PATH)/build/linux_2.6/libadf_proxy.a $(ICP_BUILD_OUTPUT)/$(DEST_LIBDIR);
++	@cp $(ADF_PATH)/build/linux_2.6/adf_ctl $(ICP_BUILD_OUTPUT)/etc/init.d/;
++	@cp $(LAC_PATH)/src/build/linux_2.6/kernel_space/$(DRIVER) $(ICP_BUILD_OUTPUT)/lib/modules/$(QAT_KERNEL_VER)/kernel/drivers;
++	@cp $(LAC_PATH)/src/build/linux_2.6/user_space/lib$(BASENAME).a $(ICP_BUILD_OUTPUT)/$(DEST_LIBDIR);
++	@cp $(LAC_PATH)/src/build/linux_2.6/user_space/lib$(BASENAME)_s.so $(ICP_BUILD_OUTPUT)/$(DEST_LIBDIR);
+ 
+ install_scripts:
+ 	@echo ; echo 'Copying Install Scripts';
+@@ -124,10 +133,10 @@ ifdef WITH_CPA_MUX
+ 	@cp $(ICP_BUILDSYSTEM_PATH)/build_files/qat_service_mux $(ICP_BUILD_OUTPUT)/qat_service;
+ endif
+ ifndef WITH_CPA_MUX
+-	@cp $(ICP_BUILDSYSTEM_PATH)/build_files/qat_service $(ICP_BUILD_OUTPUT)/;
++	@cp $(ICP_BUILDSYSTEM_PATH)/build_files/qat_service $(ICP_BUILD_OUTPUT)/etc/init.d;
+ endif
+-	@chmod 750 $(ICP_BUILD_OUTPUT)/qat_service;
+-	@cp $(CONFIG_PATH)/dh895xcc_qa_dev0.conf $(ICP_BUILD_OUTPUT)/;
++	@chmod 750 $(ICP_BUILD_OUTPUT)/etc/init.d/qat_service;
++	@cp $(CONFIG_PATH)/dh895xcc_qa_dev0.conf $(ICP_BUILD_OUTPUT)/etc/;
+ #	@cp $(CONFIG_PATH)/dh89xxcc_qa_dev1.conf $(ICP_BUILD_OUTPUT)/;
+ #	@cp $(CONFIG_PATH)/dh89xxcc_qa_dev0_single_accel.conf $(ICP_BUILD_OUTPUT)/;
+ 
+@@ -146,7 +155,6 @@ libosal_user: output_dir lac_lib_dir
+ 	@echo ; echo 'Building OSAL for user space';
+ 	@cd $(OSAL_PATH)/src && $(MAKE) ARCH=$(ICP_ARCH_USER) ICP_ENV_DIR=$(ICP_TOP_ENV) OS_LEVEL=linux ICP_OS_LEVEL=user_space lib;\
+ 	echo ; echo 'Copying OSAL library';
+-	cp $(OSAL_PATH)/src/build/linux_2.6/user_space/libosal.a $(ICP_BUILD_OUTPUT)/;
+ 
+ hal: output_dir libosal
+ 	@echo ; echo 'Building Hal Libs';
+@@ -171,7 +179,6 @@ libosal_uservf: output_dir lac_lib_dir
+ 	@echo ; echo 'Building OSAL for user space';
+ 	@cd $(OSAL_PATH)/src && export ICP_WITHOUT_IOMMU=1 && $(MAKE) ICP_ENV_DIR=$(ICP_TOP_ENV) OS_LEVEL=linux ICP_OS_LEVEL=user_space lib;\
+ 	echo ; echo 'Copying OSAL library';
+-	cp $(OSAL_PATH)/src/build/linux_2.6/user_space/libosal.a $(ICP_BUILD_OUTPUT)/;
+ 
+ adfvf: output_dir lac_lib_dir libosalvf
+ 	@echo ; echo 'Building ADFVF';
+@@ -181,13 +188,10 @@ adfvf: output_dir lac_lib_dir libosalvf
+ adf_user: output_dir lac_lib_dir libosal_user
+ 	@echo ; echo 'Building user ADF';
+ 	@cd $(ADF_PATH) && export ADF_PLATFORM=ACCELDEV && export ICP_ENV_DIR=$(ICP_TOP_ENV) && export ONE_KO_RELEASE_PACKAGE=1 && ICP_OS_LEVEL=user_space && $(MAKE) ARCH=$(ICP_ARCH_USER) adf_user;
+-	cp $(ADF_PATH)/build/linux_2.6/libadf_proxy.a $(ICP_BUILD_OUTPUT)/;
+-	cp $(ADF_PATH)/build/linux_2.6/adf_ctl $(ICP_BUILD_OUTPUT)/;
+ 
+ lac: output_dir libosal hal adf
+ 	@echo ; echo 'Building LAC';
+ 	@cd $(LAC_PATH) && export ICP_ENV_DIR=$(ICP_TOP_ENV) && export ONE_KO_RELEASE_PACKAGE=1 && cd src && $(MAKE) ICP_OS_LEVEL=kernel_space OS_LEVEL=linux;
+-	@cp $(LAC_PATH)/src/build/linux_2.6/kernel_space/$(DRIVER) $(ICP_BUILD_OUTPUT)/;
+ 
+ lacvf: output_dir libosalvf adfvf
+ 	@echo ; echo 'Building LACVF';
+@@ -195,20 +199,18 @@ ifdef WITH_CPA_MUX
+ 	@cp $(CPA_MUX_PATH)/Module.symvers $(LAC_PATH)/src/
+ endif
+ 	@cd $(LAC_PATH) && export ADF_PLATFORM=ACCELDEVVF && export ICP_ENV_DIR=$(ICP_TOP_ENV) && export ONE_KO_RELEASE_PACKAGE=1 && cd src && $(MAKE) ICP_OS_LEVEL=kernel_space OS_LEVEL=linux;
+-	@cp $(LAC_PATH)/src/build/linux_2.6/kernel_space/$(BASENAME)_vf.ko $(ICP_BUILD_OUTPUT)/;
+ 
+ lac_user: output_dir libosal_user adf_user
+ 	@echo ; echo 'Building LAC in user space';
+ 	@cd $(LAC_PATH) && export ICP_ENV_DIR=$(ICP_TOP_ENV) && export ONE_KO_RELEASE_PACKAGE=1 && cd src && $(MAKE) ARCH=$(ICP_ARCH_USER) lib_static ICP_OS_LEVEL=user_space;
+-	cp $(LAC_PATH)/src/build/linux_2.6/user_space/lib$(BASENAME).a $(ICP_BUILD_OUTPUT)/;
+ 	@cd $(LAC_PATH) && export ICP_ENV_DIR=$(ICP_TOP_ENV) && export ONE_KO_RELEASE_PACKAGE=1 && cd src && $(MAKE) ARCH=$(ICP_ARCH_USER) lib_shared ICP_OS_LEVEL=user_space;
+-	cp $(LAC_PATH)/src/build/linux_2.6/user_space/lib$(BASENAME)_s.so $(ICP_BUILD_OUTPUT)/;
++	cp $(LAC_PATH)/src/build/linux_2.6/user_space/lib$(BASENAME)_s.so $(ICP_BUILD_OUTPUT);
+ 
+ qat-fw: output_dir
+ 	@echo ; echo 'Copying QAT-FW Binary';
+-	@cp -f $(QAT_FW_PATH)/icp_qat_ae.mof $(ICP_BUILD_OUTPUT)/mof_firmware.bin;
++	@cp -f $(QAT_FW_PATH)/icp_qat_ae.mof $(ICP_BUILD_OUTPUT)/lib/firmware/$(ICP_FIRMWARE_DIR)/mof_firmware.bin;
+ 	@echo ; echo 'Copying MMP Binary';
+-	@cp -f $(QAT_FW_PATH)/icp_qat_pke.mof $(ICP_BUILD_OUTPUT)/mmp_firmware.bin;
++	@cp -f $(QAT_FW_PATH)/icp_qat_pke.mof $(ICP_BUILD_OUTPUT)/lib/firmware/$(ICP_FIRMWARE_DIR)/mmp_firmware.bin;
+ 
+ qat_mux: output_dir libosal
+ 	@echo ; echo 'Building qat_mux module'
+@@ -244,6 +246,10 @@ endif
+ 
+ output_dir:
+ 	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)/lib/firmware/$(ICP_FIRMWARE_DIR) || mkdir -p $(ICP_BUILD_OUTPUT)/lib/firmware/$(ICP_FIRMWARE_DIR);
++	test -d $(ICP_BUILD_OUTPUT)/lib/modules/$(QAT_KERNEL_VER)/kernel/drivers || mkdir -p $(ICP_BUILD_OUTPUT)/lib/modules/$(QAT_KERNEL_VER)/kernel/drivers;
++	test -d $(ICP_BUILD_OUTPUT)/etc/init.d || mkdir -p $(ICP_BUILD_OUTPUT)/etc/init.d;
+ 
+ lac_lib_dir:
+ 	test -d $(LAC_LIB_DIR) || mkdir -p $(LAC_LIB_DIR);
+diff --git a/quickassist/lookaside/access_layer/src/sample_code/Makefile b/quickassist/lookaside/access_layer/src/sample_code/Makefile
+index 91c7373..8c6901a 100644
+--- a/quickassist/lookaside/access_layer/src/sample_code/Makefile
++++ b/quickassist/lookaside/access_layer/src/sample_code/Makefile
+@@ -95,6 +95,7 @@ SAMPLE_PATH?=$(ICP_ROOT)/quickassist/lookaside/access_layer/src/sample_code
+ PERF_PATH?=$(ICP_ROOT)/quickassist/lookaside/access_layer/src/sample_code/performance
+ FIPS_PATH?=$(ICP_ROOT)/quickassist/lookaside/access_layer/src/sample_code/fips
+ FUNC_PATH=$(SAMPLE_PATH)/functional
++FIPS_OUTPUT_NAME=fips_sample
+ 
+ #include the makefile with all the default and common Make variable definitions
+ include $(ICP_BUILDSYSTEM_PATH)/build_files/common.mk
+@@ -106,6 +107,8 @@ SAMPLE_BUILD_OUTPUT?=$(SAMPLE_PATH)/build
+ 
+ output_dir:
+ 	test -d $(SAMPLE_BUILD_OUTPUT) || mkdir $(SAMPLE_BUILD_OUTPUT);
++	test -d $(SAMPLE_BUILD_OUTPUT)$(DEST_BINDIR) || mkdir -p $(SAMPLE_BUILD_OUTPUT)$(DEST_BINDIR)
++
+ fips_code:
+ 	@if test -d $(FIPS_PATH); then echo ; echo 'Building FIPS Code'; fi;
+ 	@if test -d $(FIPS_PATH); \
+@@ -157,17 +160,13 @@ PERF_ALL=$(MEM_DRIVER) perf_user perf_kernel
+ perf_all: $(PERF_ALL)
+ 	@echo ; echo "Build output location $(SAMPLE_BUILD_OUTPUT)"; 
+ 
+-
+ perf_user: output_dir
+ 	@echo ; echo "Building perf_user";
+ 	@cd $(PERF_PATH) && $(MAKE) clean ICP_OS_LEVEL=user_space && $(MAKE) ICP_OS_LEVEL=user_space lib_shared exe
+-	@cp $(PERF_PATH)/build/linux_2.6/user_space/$(PERF_OUTPUT_NAME)_s.so $(SAMPLE_BUILD_OUTPUT)/;
+-	@cp $(PERF_PATH)/build/linux_2.6/user_space/$(PERF_OUTPUT_NAME) $(SAMPLE_BUILD_OUTPUT)/;
+ 
+ perf_kernel: output_dir
+ 	@echo ; echo "Building perf_kernel";
+ 	@cd $(PERF_PATH) && $(MAKE)  ICP_OS_LEVEL=kernel_space 
+-	@cp $(PERF_PATH)/build/linux_2.6/$(ICP_OS_LEVEL)/$(PERF_OUTPUT_NAME).ko $(SAMPLE_BUILD_OUTPUT)/;
+ 	
+ common_mem_drv: output_dir
+ 	@echo ; echo "Building common_mem_drv kernel space";
+@@ -180,12 +179,19 @@ common_mem_drv: output_dir
+ perf_qae: output_dir
+ 	@echo ; echo "Building perf_qae";
+ 	@cd $(CMN_ROOT)/linux/kernel_space && $(MAKE)  ICP_OS_LEVEL=kernel_space 
+-	@cp $(CMN_ROOT)/linux/kernel_space/build/linux_2.6/$(ICP_OS_LEVEL)/$(CMN_MODULE_NAME).ko $(SAMPLE_BUILD_OUTPUT)/;
+-
+ 
+ func: output_dir
+ 	@cd $(FUNC_PATH) && $(MAKE) all;
+ 
++install: output_dir
++	@cp $(PERF_PATH)/build/linux_2.6/user_space/$(PERF_OUTPUT_NAME)_s.so $(SAMPLE_BUILD_OUTPUT)$(DEST_LIBDIR);
++	@cp $(PERF_PATH)/build/linux_2.6/user_space/$(PERF_OUTPUT_NAME) $(SAMPLE_BUILD_OUTPUT)$(DEST_BINDIR);
++	@cp $(PERF_PATH)/build/linux_2.6/$(ICP_OS_LEVEL)/$(PERF_OUTPUT_NAME).ko $(ICP_BUILD_OUTPUT)/lib/modules/$(QAT_KERNEL_VER)/kernel/drivers;
++	@cp $(CMN_ROOT)/linux/kernel_space/build/linux_2.6/$(ICP_OS_LEVEL)/$(CMN_MODULE_NAME).ko $(ICP_BUILD_OUTPUT)/lib/modules/$(QAT_KERNEL_VER)/kernel/drivers;
++	@cp $(FIPS_PATH)/build/linux_2.6/$(ICP_OS_LEVEL)/$(FIPS_OUTPUT_NAME).ko $(ICP_BUILD_OUTPUT)/lib/modules/$(QAT_KERNEL_VER)/kernel/drivers;
++	@cp $(FIPS_PATH)/build/linux_2.6/user_space/$(FIPS_OUTPUT_NAME)_s.so $(SAMPLE_BUILD_OUTPUT)$(DEST_LIBDIR);
++	@cp $(FIPS_PATH)/build/linux_2.6/user_space/$(FIPS_OUTPUT_NAME).a $(SAMPLE_BUILD_OUTPUT)$(DEST_LIBDIR);
++	@cd $(FUNC_PATH) && $(MAKE) install;
+ 
+ all: $(MEM_DRIVER) fips_code perf_user perf_kernel func
+ perf: $(MEM_DRIVER) perf_kernel
+diff --git a/quickassist/lookaside/access_layer/src/sample_code/functional/Makefile b/quickassist/lookaside/access_layer/src/sample_code/functional/Makefile
+index 8944883..0355a70 100644
+--- a/quickassist/lookaside/access_layer/src/sample_code/functional/Makefile
++++ b/quickassist/lookaside/access_layer/src/sample_code/functional/Makefile
+@@ -64,6 +64,8 @@ SYM_PATH?=$(SAMPLE_PATH)/sym
+ ASYM_PATH?=$(SAMPLE_PATH)/asym
+ ICP_API_DIR?=$(ICP_ROOT)/quickassist/include/
+ ICP_LAC_DIR?=$(ICP_ROOT)/quickassist/lookaside/access_layer/
++BIN_INSTALLPATH=$(SAMPLE_BUILD_OUTPUT)$(DEST_BINDIR)/
++MODULE_INSTALLPATH=$(SAMPLE_BUILD_OUTPUT)/lib/modules/$(QAT_KERNEL_VER)/kernel/drivers
+ 
+ ifeq ($(WITH_CMDRV),1)
+     CMN_ROOT?=$(ICP_ROOT)/quickassist/utilities/libqae_mem/
+@@ -110,6 +112,7 @@ SAMPLE_BUILD_OUTPUT?=$(SAMPLE_PATH)/build
+ 
+ output_dir:
+ 	test -d $(SAMPLE_BUILD_OUTPUT) || mkdir $(SAMPLE_BUILD_OUTPUT);
++	test -d $(BIN_INSTALLPATH) || mkdir -p $(BIN_INSTALLPATH);
+ 
+ BUILD_DC=dc_dp_sample stateless_sample stateful_sample \
+          stateless_multi_op_checksum_sample
+@@ -119,23 +122,15 @@ dc: $(BUILD_DC)
+ 
+ dc_dp_sample: output_dir
+ 	@cd $(DC_PATH)/dc_dp_sample && $(MAKE) clean && $(MAKE) ICP_OS_LEVEL=user_space && $(MAKE) ICP_OS_LEVEL=kernel_space
+-	@cp $(DC_PATH)/dc_dp_sample/dc_dp_sample $(SAMPLE_BUILD_OUTPUT)/;
+-	@cp $(DC_PATH)/dc_dp_sample/dc_dp_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+ 
+ stateless_sample: output_dir
+ 	@cd $(DC_PATH)/stateless_sample && $(MAKE) clean && $(MAKE) ICP_OS_LEVEL=user_space && $(MAKE) ICP_OS_LEVEL=kernel_space
+-	@cp $(DC_PATH)/stateless_sample/dc_stateless_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+-	@cp $(DC_PATH)/stateless_sample/dc_stateless_sample $(SAMPLE_BUILD_OUTPUT)/;
+ 	
+ stateful_sample: output_dir
+ 	@cd $(DC_PATH)/stateful_sample && $(MAKE) clean ICP_OS_LEVEL=user_space && $(MAKE) ICP_OS_LEVEL=user_space
+-	@cp $(DC_PATH)/stateful_sample/dc_stateful_sample $(SAMPLE_BUILD_OUTPUT)/;
+-	@cp $(DC_PATH)/stateful_sample/paper4 $(SAMPLE_BUILD_OUTPUT)/;
+ 
+ stateless_multi_op_checksum_sample: output_dir
+ 	@cd $(DC_PATH)/stateless_multi_op_checksum_sample && $(MAKE) ICP_OS_LEVEL=user_space && $(MAKE) ICP_OS_LEVEL=kernel_space
+-	@cp $(DC_PATH)/stateless_multi_op_checksum_sample/dc_stateless_multi_op_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+-	@cp $(DC_PATH)/stateless_multi_op_checksum_sample/dc_stateless_multi_op_sample $(SAMPLE_BUILD_OUTPUT)/;
+ 
+ BUILD_SYN=algchaining_sample ccm_sample cipher_sample  \
+           drbg_sample gcm_sample hash_file_sample      \
+@@ -146,57 +141,36 @@ sym:$(BUILD_SYN)
+ 	@echo ; echo "Build sym component";
+ algchaining_sample: output_dir
+ 	@cd $(SYM_PATH)/alg_chaining_sample && $(MAKE) clean && $(MAKE) ICP_OS_LEVEL=user_space && $(MAKE) ICP_OS_LEVEL=kernel_space
+-	@cp $(SYM_PATH)/alg_chaining_sample/algchaining_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+-	@cp $(SYM_PATH)/alg_chaining_sample/algchaining_sample $(SAMPLE_BUILD_OUTPUT)/;
+ 	
+ ccm_sample: output_dir
+ 	@cd $(SYM_PATH)/ccm_sample && $(MAKE) clean && $(MAKE) ICP_OS_LEVEL=user_space && $(MAKE) ICP_OS_LEVEL=kernel_space
+-	@cp $(SYM_PATH)/ccm_sample/ccm_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+-	@cp $(SYM_PATH)/ccm_sample/ccm_sample $(SAMPLE_BUILD_OUTPUT)/;
+ 	
+ cipher_sample: output_dir
+ 	@cd $(SYM_PATH)/cipher_sample && $(MAKE) clean && $(MAKE) ICP_OS_LEVEL=user_space && $(MAKE) ICP_OS_LEVEL=kernel_space
+-	@cp $(SYM_PATH)/cipher_sample/cipher_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+-	@cp $(SYM_PATH)/cipher_sample/cipher_sample $(SAMPLE_BUILD_OUTPUT)/;
+ 	
+ drbg_sample: output_dir
+ 	@cd $(SYM_PATH)/drbg_sample && $(MAKE) clean && $(MAKE) ICP_OS_LEVEL=user_space && $(MAKE) ICP_OS_LEVEL=kernel_space
+-	@cp $(SYM_PATH)/drbg_sample/drbg_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+-	@cp $(SYM_PATH)/drbg_sample/drbg_sample $(SAMPLE_BUILD_OUTPUT)/;
+ 	
+ gcm_sample: output_dir
+ 	@cd $(SYM_PATH)/gcm_sample && $(MAKE) clean && $(MAKE) ICP_OS_LEVEL=user_space && $(MAKE) ICP_OS_LEVEL=kernel_space
+-	@cp $(SYM_PATH)/gcm_sample/gcm_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+-	@cp $(SYM_PATH)/gcm_sample/gcm_sample $(SAMPLE_BUILD_OUTPUT)/;
+ 	
+ hash_file_sample: output_dir
+ 	@cd $(SYM_PATH)/hash_file_sample && $(MAKE) clean  ICP_OS_LEVEL=user_space&& $(MAKE) ICP_OS_LEVEL=user_space
+-	@cp $(SYM_PATH)/hash_file_sample/hash_file_sample $(SAMPLE_BUILD_OUTPUT)/;
+ 	
+ hash_sample: output_dir
+ 	@cd $(SYM_PATH)/hash_sample && $(MAKE) clean && $(MAKE) ICP_OS_LEVEL=user_space && $(MAKE) ICP_OS_LEVEL=kernel_space
+-	@cp $(SYM_PATH)/hash_sample/hash_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+-	@cp $(SYM_PATH)/hash_sample/hash_sample $(SAMPLE_BUILD_OUTPUT)/;
+ 	
+ ipsec_sample: output_dir
+ 	@cd $(SYM_PATH)/ipsec_sample && $(MAKE) clean && $(MAKE) ICP_OS_LEVEL=user_space && $(MAKE) ICP_OS_LEVEL=kernel_space
+-	@cp $(SYM_PATH)/ipsec_sample/ipsec_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+-	@cp $(SYM_PATH)/ipsec_sample/ipsec_sample $(SAMPLE_BUILD_OUTPUT)/;
+ 	
+ nrbg_sample: output_dir
+ 	@cd $(SYM_PATH)/nrbg_sample && $(MAKE) clean && $(MAKE) ICP_OS_LEVEL=user_space && $(MAKE) ICP_OS_LEVEL=kernel_space
+-	@cp $(SYM_PATH)/nrbg_sample/nrbg_sample $(SAMPLE_BUILD_OUTPUT)/;
+-	@cp $(SYM_PATH)/nrbg_sample/nrbg_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+ 	
+ ssl_sample: output_dir
+ 	@cd $(SYM_PATH)/ssl_sample && $(MAKE) clean && $(MAKE) ICP_OS_LEVEL=user_space && $(MAKE) ICP_OS_LEVEL=kernel_space
+-	@cp $(SYM_PATH)/ssl_sample/ssl_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+-	@cp $(SYM_PATH)/ssl_sample/ssl_sample $(SAMPLE_BUILD_OUTPUT)/;
+ 	
+ sym_dp_sample: output_dir
+ 	@cd $(SYM_PATH)/symdp_sample && $(MAKE) clean && $(MAKE) ICP_OS_LEVEL=user_space && $(MAKE) ICP_OS_LEVEL=kernel_space
+-	@cp $(SYM_PATH)/symdp_sample/sym_dp_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+-	@cp $(SYM_PATH)/symdp_sample/sym_dp_sample $(SAMPLE_BUILD_OUTPUT)/;
+ 
+ BUILD_ASYM=diffie_hellman_sample prime_sample
+ 
+@@ -205,13 +179,44 @@ asym: $(BUILD_ASYM)
+ 
+ diffie_hellman_sample: output_dir
+ 	@cd $(ASYM_PATH)/diffie_hellman_sample && $(MAKE) clean && $(MAKE) ICP_OS_LEVEL=user_space && $(MAKE) ICP_OS_LEVEL=kernel_space
+-	@cp $(ASYM_PATH)/diffie_hellman_sample/dh_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+-	@cp $(ASYM_PATH)/diffie_hellman_sample/dh_sample $(SAMPLE_BUILD_OUTPUT)/;
+ 
+ prime_sample: output_dir
+ 	@cd $(ASYM_PATH)/prime_sample && $(MAKE) clean && $(MAKE) ICP_OS_LEVEL=user_space && $(MAKE) ICP_OS_LEVEL=kernel_space
+-	@cp $(ASYM_PATH)/prime_sample/prime_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+-	@cp $(ASYM_PATH)/prime_sample/prime_sample $(SAMPLE_BUILD_OUTPUT)/;
++
++install: output_dir
++	@cp $(DC_PATH)/stateless_multi_op_checksum_sample/dc_stateless_multi_op_sample.ko $(MODULE_INSTALLPATH);
++	@cp $(DC_PATH)/stateless_multi_op_checksum_sample/dc_stateless_multi_op_sample $(BIN_INSTALLPATH);
++	@cp $(DC_PATH)/stateful_sample/dc_stateful_sample $(BIN_INSTALLPATH);
++	@cp $(DC_PATH)/stateful_sample/paper4 $(BIN_INSTALLPATH);
++	@cp $(DC_PATH)/dc_dp_sample/dc_dp_sample $(BIN_INSTALLPATH);
++	@cp $(DC_PATH)/dc_dp_sample/dc_dp_sample.ko $(MODULE_INSTALLPATH);
++	@cp $(DC_PATH)/stateless_sample/dc_stateless_sample.ko $(MODULE_INSTALLPATH);
++	@cp $(DC_PATH)/stateless_sample/dc_stateless_sample $(BIN_INSTALLPATH);
++	@cp $(ASYM_PATH)/prime_sample/prime_sample.ko $(MODULE_INSTALLPATH);
++	@cp $(ASYM_PATH)/prime_sample/prime_sample $(BIN_INSTALLPATH);
++	@cp $(ASYM_PATH)/diffie_hellman_sample/dh_sample.ko $(MODULE_INSTALLPATH);
++	@cp $(ASYM_PATH)/diffie_hellman_sample/dh_sample $(BIN_INSTALLPATH);
++	@cp $(SYM_PATH)/symdp_sample/sym_dp_sample.ko $(MODULE_INSTALLPATH);
++	@cp $(SYM_PATH)/symdp_sample/sym_dp_sample $(BIN_INSTALLPATH);
++	@cp $(SYM_PATH)/ssl_sample/ssl_sample.ko $(MODULE_INSTALLPATH);
++	@cp $(SYM_PATH)/ssl_sample/ssl_sample $(BIN_INSTALLPATH);
++	@cp $(SYM_PATH)/nrbg_sample/nrbg_sample $(BIN_INSTALLPATH);
++	@cp $(SYM_PATH)/nrbg_sample/nrbg_sample.ko $(MODULE_INSTALLPATH);
++	@cp $(SYM_PATH)/ipsec_sample/ipsec_sample.ko $(MODULE_INSTALLPATH);
++	@cp $(SYM_PATH)/hash_file_sample/hash_file_sample $(BIN_INSTALLPATH);
++	@cp $(SYM_PATH)/ipsec_sample/ipsec_sample $(BIN_INSTALLPATH);
++	@cp $(SYM_PATH)/hash_sample/hash_sample.ko $(MODULE_INSTALLPATH);
++	@cp $(SYM_PATH)/hash_sample/hash_sample $(BIN_INSTALLPATH);
++	@cp $(SYM_PATH)/gcm_sample/gcm_sample.ko $(MODULE_INSTALLPATH);
++	@cp $(SYM_PATH)/gcm_sample/gcm_sample $(BIN_INSTALLPATH);
++	@cp $(SYM_PATH)/alg_chaining_sample/algchaining_sample.ko $(MODULE_INSTALLPATH);
++	@cp $(SYM_PATH)/alg_chaining_sample/algchaining_sample $(BIN_INSTALLPATH);
++	@cp $(SYM_PATH)/ccm_sample/ccm_sample.ko $(MODULE_INSTALLPATH);
++	@cp $(SYM_PATH)/ccm_sample/ccm_sample $(BIN_INSTALLPATH);
++	@cp $(SYM_PATH)/drbg_sample/drbg_sample.ko $(MODULE_INSTALLPATH);
++	@cp $(SYM_PATH)/drbg_sample/drbg_sample $(BIN_INSTALLPATH);
++	@cp $(SYM_PATH)/cipher_sample/cipher_sample.ko $(MODULE_INSTALLPATH);
++	@cp $(SYM_PATH)/cipher_sample/cipher_sample $(BIN_INSTALLPATH);
+ 
+ CLEAN_DC=clean_dc_dp_sample clean_stateless_sample     \
+ 	 clean_stateful_sample                         \
+-- 
+1.7.9.5
+
diff --git a/meta-crystalforest/recipes-extended/qat/qat16/qat16_2.3.0-34-qat-fix-for-cross-compilation-issue.patch b/meta-crystalforest/recipes-extended/qat/qat16/qat16_2.3.0-34-qat-fix-for-cross-compilation-issue.patch
new file mode 100644
index 0000000..b7b77d0
--- /dev/null
+++ b/meta-crystalforest/recipes-extended/qat/qat16/qat16_2.3.0-34-qat-fix-for-cross-compilation-issue.patch
@@ -0,0 +1,40 @@
+From 340701a0f44e70eafd9029e9186b74e8783f2afd Mon Sep 17 00:00:00 2001
+From: venkatasubramanian pattu <venkatasubramanianx.pattu at intel.com>
+Date: Mon, 6 Jul 2015 15:57:20 +0800
+Subject: [PATCH] qat: fix for cross-compilation issue
+
+Upstream-Status: Inappropriate [Configuration]
+
+Ensure that we are not using host compiler.
+
+Signed-off-by: venkatasubramanian pattu <venkatasubramanianx.pattu at intel.com>
+Signed-off-by: Anuj Mittal <anujx.mittal at intel.com>
+---
+ .../dc/stateless_multi_op_checksum_sample/Makefile |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/quickassist/lookaside/access_layer/src/sample_code/functional/dc/stateless_multi_op_checksum_sample/Makefile b/quickassist/lookaside/access_layer/src/sample_code/functional/dc/stateless_multi_op_checksum_sample/Makefile
+index 01590c3..315fca7 100644
+--- a/quickassist/lookaside/access_layer/src/sample_code/functional/dc/stateless_multi_op_checksum_sample/Makefile
++++ b/quickassist/lookaside/access_layer/src/sample_code/functional/dc/stateless_multi_op_checksum_sample/Makefile
+@@ -111,7 +111,7 @@ else
+         ADDITIONAL_OBJECTS += $(ICP_BUILD_OUTPUT)/libicp_qa_al_s.so
+ endif
+ 
+-ADDITIONAL_OBJECTS += -L/usr/Lib -lpthread -lcrypto
++ADDITIONAL_OBJECTS += -lpthread -lcrypto
+ 
+ USER_SOURCE_FILES = ../../common/cpa_sample_utils.c cpa_dc_stateless_multi_op_checksum_sample.c
+ USER_SOURCE_FILES += ../stateless_sample/cpa_dc_sample_user.c
+@@ -127,7 +127,7 @@ else
+ endif
+ 
+ default: clean
+-	gcc -Wall -O1 $(USER_INCLUDES)  -DUSER_SPACE $(EXTRA_CFLAGS) \
++	$(CC) -Wall -O1 $(USER_INCLUDES)  -DUSER_SPACE $(EXTRA_CFLAGS) \
+ 	$(USER_SOURCE_FILES) $(ADDITIONAL_OBJECTS) -o $(OUTPUT_NAME)
+ 
+ clean:
+-- 
+1.7.9.5
+
diff --git a/meta-crystalforest/recipes-extended/qat/qat16/qat16_2.3.0-34-qat-remove-local-path-from-makefile.patch b/meta-crystalforest/recipes-extended/qat/qat16/qat16_2.3.0-34-qat-remove-local-path-from-makefile.patch
new file mode 100644
index 0000000..0021c0d
--- /dev/null
+++ b/meta-crystalforest/recipes-extended/qat/qat16/qat16_2.3.0-34-qat-remove-local-path-from-makefile.patch
@@ -0,0 +1,31 @@
+From 5044a14a6b4192b771f16aa834f688c1fd1287dd Mon Sep 17 00:00:00 2001
+From: Anuj Mittal <anujx.mittal at intel.com>
+Date: Wed, 8 Jul 2015 11:11:32 +0800
+Subject: [PATCH] qat: remove local path from makefile
+
+Upstream-Status: Inappropriate [Configuration]
+
+Remove the host machine /usr/include path from makefile.
+
+Signed-off-by: Anuj Mittal <anujx.mittal at intel.com>
+---
+ .../build_files/env_files/linux_2.6_user_space.mk  |    3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/quickassist/build_system/build_files/env_files/linux_2.6_user_space.mk b/quickassist/build_system/build_files/env_files/linux_2.6_user_space.mk
+index 1451f4a..719d1bb 100755
+--- a/quickassist/build_system/build_files/env_files/linux_2.6_user_space.mk
++++ b/quickassist/build_system/build_files/env_files/linux_2.6_user_space.mk
+@@ -72,8 +72,7 @@
+ #
+ #-------------------------------------------------------------
+ 
+-INCLUDES+=-I/usr/include \
+-          -I$(API_DIR)   \
++INCLUDES+=-I$(API_DIR)   \
+           -I$(OSAL_DIR)/include \
+           -I$(OSAL_DIR)/src/linux/user_space/include
+ 
+-- 
+1.7.9.5
+
diff --git a/meta-crystalforest/recipes-extended/qat/qat16_2.3.0-34.bb b/meta-crystalforest/recipes-extended/qat/qat16_2.3.0-34.bb
new file mode 100644
index 0000000..afdc7b0
--- /dev/null
+++ b/meta-crystalforest/recipes-extended/qat/qat16_2.3.0-34.bb
@@ -0,0 +1,116 @@
+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 \
+                    "
+PV = "2.3.0-34"
+DEPENDS += "zlib openssl"
+SRC_URI="https://01.org/sites/default/files/page/qatmux.l.${PV}.tgz;name=qat \
+         file://qat16_2.3.0-34-qat-add-install-target-to-makefiles.patch \
+         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 \
+         "
+
+SRC_URI[qat.md5sum] = "9614bf598bc8e7eedc8adb6d29109033"
+SRC_URI[qat.sha256sum] = "1f9708de3c132258eaa488c82760f374b6b6838c85cafef2e8c61034fe0f7031"
+
+COMPATIBLE_MACHINE = "crystalforest"
+
+S = "${WORKDIR}/${ICP_DRIVER_TYPE}"
+ICP_TOOLS = "accelcomp"
+SAMPLE_CODE_DIR = "${S}/quickassist/lookaside/access_layer/src/sample_code"
+
+export ICP_DRIVER_TYPE = "QAT1.6"
+export ICP_FIRMWARE_DIR="dh895xcc"
+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 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"
+
+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"
+
+do_unpack2() {
+        cd ${S}/
+        tar xzvf ${ICP_DRIVER_TYPE}.L.${PV}.tar.gz
+}
+
+addtask unpack2 after do_unpack before do_patch
+
+do_compile () {
+        export LD="${LD} --hash-style=gnu"
+        export MACHINE="${TARGET_ARCH}"
+        cd ${S}/quickassist
+        oe_runmake EXTRA_OEMAKE="'CFLAGS=${CFLAGS} -fPIC'"
+
+        cd ${SAMPLE_CODE_DIR}
+        touch ${SAMPLE_CODE_DIR}/performance/compression/calgary
+        touch ${SAMPLE_CODE_DIR}/performance/compression/canterbury
+	
+        #build the whole sample code: fips, functional, performance
+        oe_runmake 'all'
+        oe_runmake 'fips_user_code'
+}
+
+do_install() {
+        cd ${S}/quickassist
+        oe_runmake install
+
+        cd ${SAMPLE_CODE_DIR}
+        oe_runmake install
+
+        install -d ${D}/etc/udev/rules.d \
+                   ${D}${includedir} \
+                   ${D}${includedir}/dc \
+                   ${D}${includedir}/lac \
+                   ${D}${sysconfdir}/dh895xcc \
+                   ${D}${base_libdir}/firmware
+
+        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 640 ${S}/quickassist/include/*.h ${D}${includedir}
+        install -m 640 ${S}/quickassist/include/dc/*.h ${D}${includedir}/dc/
+        install -m 640 ${S}/quickassist/include/lac/*.h ${D}${includedir}/lac/
+        install -m 640 ${S}/quickassist/lookaside/access_layer/include/*.h ${D}${includedir}
+
+        install -m 0755 ${SAMPLE_CODE_DIR}/performance/compression/calgary     ${D}${base_libdir}/firmware
+        install -m 0755 ${SAMPLE_CODE_DIR}/performance/compression/canterbury  ${D}${base_libdir}/firmware
+
+        install -m 660  ${S}/quickassist/config/dh* ${D}${sysconfdir}/dh895xcc
+}
+
+PACKAGES += "${PN}-app"
+
+FILES_${PN}-dev = "${includedir}"
+
+FILES_${PN} += "\
+                ${base_libdir}/firmware/    \
+                ${sysconfdir}/              \
+                ${sysconfdir}/udev/rules.d/ \
+                ${sysconfdir}/init.d/       \
+                ${libdir}/                  \
+                "
+
+FILES_${PN}-dbg += "${sysconfdir}/init.d/.debug"
+
+FILES_${PN}-app += "${bindir}/*"
-- 
1.7.9.5



More information about the meta-intel mailing list