[meta-intel] [master & fido][PATCH 1/1] meta-crystalforest: qat recipe for riverforest
Anuj Mittal
anujx.mittal at intel.com
Fri Jul 10 03:23:56 PDT 2015
This recipe implements the support for Intel QAT 2.3.0-34
for Intel RiverForest platforms.
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..e6556cb
--- /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