aboutsummaryrefslogtreecommitdiffstats
path: root/meta-qat/recipes-extended/qat/qat16
diff options
context:
space:
mode:
Diffstat (limited to 'meta-qat/recipes-extended/qat/qat16')
-rw-r--r--meta-qat/recipes-extended/qat/qat16/0001-OsalServices-Only-use-bits-time-with-GLIBC.patch27
-rw-r--r--meta-qat/recipes-extended/qat/qat16/qat16_2.3.0-34-make-sure-CFLAGS-are-correct.patch30
-rw-r--r--meta-qat/recipes-extended/qat/qat16/qat16_2.3.0-34-qat-fix-for-cross-compilation-issue.patch40
-rw-r--r--meta-qat/recipes-extended/qat/qat16/qat16_2.3.0-34-qat-remove-local-path-from-makefile.patch31
-rw-r--r--meta-qat/recipes-extended/qat/qat16/qat16_2.5.0-80-qat-Added-include-dir-path.patch30
-rw-r--r--meta-qat/recipes-extended/qat/qat16/qat16_2.5.0-80-qat-add-install-target-to-makefiles.patch387
-rw-r--r--meta-qat/recipes-extended/qat/qat16/qat16_2.5.0-80-qat-change-in-return-type-of-func-in-kernel-v4.4.patch40
-rw-r--r--meta-qat/recipes-extended/qat/qat16/qat16_2.6.0-65-qat-add-install-target-to-makefiles.patch353
-rw-r--r--meta-qat/recipes-extended/qat/qat16/qat16_2.6.0-65-qat-override-CC-LD-AR-only-when-it-is-not-define.patch35
-rw-r--r--meta-qat/recipes-extended/qat/qat16/use-CC-for-LD.patch17
10 files changed, 990 insertions, 0 deletions
diff --git a/meta-qat/recipes-extended/qat/qat16/0001-OsalServices-Only-use-bits-time-with-GLIBC.patch b/meta-qat/recipes-extended/qat/qat16/0001-OsalServices-Only-use-bits-time-with-GLIBC.patch
new file mode 100644
index 00000000..d627353d
--- /dev/null
+++ b/meta-qat/recipes-extended/qat/qat16/0001-OsalServices-Only-use-bits-time-with-GLIBC.patch
@@ -0,0 +1,27 @@
+From f83ac703a6babfa7f177b8f14ff3263a08fd8871 Mon Sep 17 00:00:00 2001
+From: Saul Wold <sgw@linux.intel.com>
+Date: Thu, 9 Feb 2017 14:35:57 -0800
+Subject: [PATCH] OsalServices: Only use bits/time with GLIBC
+
+Upstream-Status: Pending
+Signed-off-by: Saul Wold <sgw@linux.intel.com>
+---
+ quickassist/utilities/osal/src/linux/user_space/OsalServices.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/quickassist/utilities/osal/src/linux/user_space/OsalServices.c b/quickassist/utilities/osal/src/linux/user_space/OsalServices.c
+index 49fde45..5f50aaa 100755
+--- a/quickassist/utilities/osal/src/linux/user_space/OsalServices.c
++++ b/quickassist/utilities/osal/src/linux/user_space/OsalServices.c
+@@ -41,7 +41,7 @@
+
+ #include <stdarg.h>
+ #include <stdio.h>
+-#ifdef __linux__
++#if defined(__linux__) && defined(__GLIBC__)
+ #include <bits/time.h>
+ #endif
+ #include <sched.h>
+--
+2.7.4
+
diff --git a/meta-qat/recipes-extended/qat/qat16/qat16_2.3.0-34-make-sure-CFLAGS-are-correct.patch b/meta-qat/recipes-extended/qat/qat16/qat16_2.3.0-34-make-sure-CFLAGS-are-correct.patch
new file mode 100644
index 00000000..e1ed3fc9
--- /dev/null
+++ b/meta-qat/recipes-extended/qat/qat16/qat16_2.3.0-34-make-sure-CFLAGS-are-correct.patch
@@ -0,0 +1,30 @@
+From 83f465ee776868875f6c19c2110eed4db6c547ce Mon Sep 17 00:00:00 2001
+From: Anuj Mittal <anujx.mittal@intel.com>
+Date: Thu, 10 Sep 2015 11:58:44 +0800
+Subject: [PATCH] qat: make sure CFLAGS are correct
+
+Upstream-Status: Submitted
+
+Ensure that all the CFLAGS values are being considered.
+
+Signed-off-by: Anuj Mittal <anujx.mittal@intel.com>
+---
+ quickassist/adf/user/user_proxy/src/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/quickassist/adf/user/user_proxy/src/Makefile b/quickassist/adf/user/user_proxy/src/Makefile
+index 868313a..efd352c 100644
+--- a/quickassist/adf/user/user_proxy/src/Makefile
++++ b/quickassist/adf/user/user_proxy/src/Makefile
+@@ -133,7 +133,7 @@ INCLUDES+= -I$(ADF_DIR)/include \
+ -I$(ADF_PLATFORM_DIR)/include \
+ -I$(ADF_CTL_DIR)/include
+
+-CFLAGS = -D_GNU_SOURCE -O2 $(INCLUDES)
++CFLAGS += -D_GNU_SOURCE -O2 $(INCLUDES)
+ #needed by SAL
+ EXTRA_CFLAGS += -fPIC -fno-strict-aliasing
+ #include your $(ICP_OS)_$(ICP_OS_LEVEL).mk file
+--
+1.7.9.5
+
diff --git a/meta-qat/recipes-extended/qat/qat16/qat16_2.3.0-34-qat-fix-for-cross-compilation-issue.patch b/meta-qat/recipes-extended/qat/qat16/qat16_2.3.0-34-qat-fix-for-cross-compilation-issue.patch
new file mode 100644
index 00000000..b7b77d05
--- /dev/null
+++ b/meta-qat/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@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@intel.com>
+Signed-off-by: Anuj Mittal <anujx.mittal@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-qat/recipes-extended/qat/qat16/qat16_2.3.0-34-qat-remove-local-path-from-makefile.patch b/meta-qat/recipes-extended/qat/qat16/qat16_2.3.0-34-qat-remove-local-path-from-makefile.patch
new file mode 100644
index 00000000..0021c0d7
--- /dev/null
+++ b/meta-qat/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@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@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-qat/recipes-extended/qat/qat16/qat16_2.5.0-80-qat-Added-include-dir-path.patch b/meta-qat/recipes-extended/qat/qat16/qat16_2.5.0-80-qat-Added-include-dir-path.patch
new file mode 100644
index 00000000..a5389306
--- /dev/null
+++ b/meta-qat/recipes-extended/qat/qat16/qat16_2.5.0-80-qat-Added-include-dir-path.patch
@@ -0,0 +1,30 @@
+From 142bf81912701d94985ad656c2250650113d00de Mon Sep 17 00:00:00 2001
+From: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com>
+Date: Tue, 22 Mar 2016 01:44:09 +0800
+Subject: [PATCH 2/2] qat: Added include dir path
+
+Upstream-Status: Inappropriate [Configuration]
+
+Make sure that we point to the correct include path to the local
+headers.
+
+Signed-off-by: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com>
+---
+ quickassist/build_system/build_files/env_files/linux_2.6_user_space.mk | 1 +
+ 1 file changed, 1 insertion(+)
+
+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 b504f7f..a75f152 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
+@@ -84,6 +84,7 @@ INCLUDES+=-I$(API_DIR) \
+
+ EXTRA_CFLAGS += $(cmd_line_cflags)
+ EXTRA_CFLAGS += -fno-strict-aliasing
++EXTRA_CFLAGS += $(INCLUDES)
+ EXTRA_LDFLAGS +=-whole-archive
+
+ ifeq ($(ARCH), i386)
+--
+1.9.1
+
diff --git a/meta-qat/recipes-extended/qat/qat16/qat16_2.5.0-80-qat-add-install-target-to-makefiles.patch b/meta-qat/recipes-extended/qat/qat16/qat16_2.5.0-80-qat-add-install-target-to-makefiles.patch
new file mode 100644
index 00000000..927389ff
--- /dev/null
+++ b/meta-qat/recipes-extended/qat/qat16/qat16_2.5.0-80-qat-add-install-target-to-makefiles.patch
@@ -0,0 +1,387 @@
+From 803fd66d6a7e6dccc420f925106da0f05766a2f6 Mon Sep 17 00:00:00 2001
+From: Anuj Mittal <anujx.mittal@intel.com>
+Date: Wed, 9 Sep 2015 16:58:55 +0800
+Subject: [PATCH] qat: add-install-target-to-makefiles
+
+Upstream-Status: Inappropriate [Configuration]
+
+Add install target to makefile to help install
+ingredients at the proper location.
+
+Signed-off-by: Anuj Mittal <anujx.mittal@intel.com>
+---
+ quickassist/Makefile | 36 ++++++----
+ .../access_layer/src/sample_code/Makefile | 18 +++--
+ .../src/sample_code/functional/Makefile | 73 +++++++++++---------
+ 3 files changed, 73 insertions(+), 54 deletions(-)
+
+diff --git a/quickassist/Makefile b/quickassist/Makefile
+index 339d410..b23a409 100644
+--- a/quickassist/Makefile
++++ b/quickassist/Makefile
+@@ -108,7 +108,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`
+
+@@ -120,7 +120,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';
+@@ -128,10 +137,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)/;
+
+@@ -150,7 +159,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';
+@@ -175,7 +183,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';
+@@ -185,13 +192,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';
+@@ -199,20 +203,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'
+@@ -248,6 +250,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 e13bbf0..fbc575e 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); \
+@@ -162,17 +165,13 @@ endif
+ 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_kernel: output_dir
+ @echo ; echo "Building common_mem_drv kernel space";
+@@ -187,12 +186,19 @@ common_mem_drv_user: 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 3625637..322622b 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,31 +122,23 @@ dc: $(BUILD_DC)
+
+ dc_dp_sample: output_dir
+ @cd $(DC_PATH)/dc_dp_sample && $(MAKE) clean && $(MAKE) ICP_OS_LEVEL=user_space
+- @cp $(DC_PATH)/dc_dp_sample/dc_dp_sample $(SAMPLE_BUILD_OUTPUT)/;
+ ifneq ($(WITH_UPSTREAM),1)
+ @cd $(DC_PATH)/dc_dp_sample && $(MAKE) ICP_OS_LEVEL=kernel_space
+- @cp $(DC_PATH)/dc_dp_sample/dc_dp_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+ endif
+
+ stateless_sample: output_dir
+ @cd $(DC_PATH)/stateless_sample && $(MAKE) clean && $(MAKE) ICP_OS_LEVEL=user_space
+- @cp $(DC_PATH)/stateless_sample/dc_stateless_sample $(SAMPLE_BUILD_OUTPUT)/;
+ ifneq ($(WITH_UPSTREAM),1)
+ @cd $(DC_PATH)/stateless_sample && $(MAKE) ICP_OS_LEVEL=kernel_space
+- @cp $(DC_PATH)/stateless_sample/dc_stateless_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+ endif
+
+ 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) clean && $(MAKE) ICP_OS_LEVEL=user_space
+- @cp $(DC_PATH)/stateless_multi_op_checksum_sample/dc_stateless_multi_op_sample $(SAMPLE_BUILD_OUTPUT)/;
+ ifneq ($(WITH_UPSTREAM),1)
+ @cd $(DC_PATH)/stateless_multi_op_checksum_sample && $(MAKE) ICP_OS_LEVEL=kernel_space
+- @cp $(DC_PATH)/stateless_multi_op_checksum_sample/dc_stateless_multi_op_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+ endif
+
+ BUILD_SYN=algchaining_sample ccm_sample cipher_sample \
+@@ -159,86 +154,65 @@ 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
+- @cp $(SYM_PATH)/alg_chaining_sample/algchaining_sample $(SAMPLE_BUILD_OUTPUT)/;
+ ifneq ($(WITH_UPSTREAM),1)
+ @cd $(SYM_PATH)/alg_chaining_sample && $(MAKE) ICP_OS_LEVEL=kernel_space
+- @cp $(SYM_PATH)/alg_chaining_sample/algchaining_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+ endif
+
+ ccm_sample: output_dir
+ @cd $(SYM_PATH)/ccm_sample && $(MAKE) clean && $(MAKE) ICP_OS_LEVEL=user_space
+- @cp $(SYM_PATH)/ccm_sample/ccm_sample $(SAMPLE_BUILD_OUTPUT)/;
+ ifneq ($(WITH_UPSTREAM),1)
+ @cd $(SYM_PATH)/ccm_sample && $(MAKE) ICP_OS_LEVEL=kernel_space
+- @cp $(SYM_PATH)/ccm_sample/ccm_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+ endif
+
+ cipher_sample: output_dir
+ @cd $(SYM_PATH)/cipher_sample && $(MAKE) clean && $(MAKE) ICP_OS_LEVEL=user_space
+- @cp $(SYM_PATH)/cipher_sample/cipher_sample $(SAMPLE_BUILD_OUTPUT)/;
+ ifneq ($(WITH_UPSTREAM),1)
+ @cd $(SYM_PATH)/cipher_sample && $(MAKE) ICP_OS_LEVEL=kernel_space
+- @cp $(SYM_PATH)/cipher_sample/cipher_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+ endif
+
+ drbg_sample: output_dir
+ @cd $(SYM_PATH)/drbg_sample && $(MAKE) clean && $(MAKE) ICP_OS_LEVEL=user_space
+- @cp $(SYM_PATH)/drbg_sample/drbg_sample $(SAMPLE_BUILD_OUTPUT)/;
+ ifneq ($(WITH_UPSTREAM),1)
+ @cd $(SYM_PATH)/drbg_sample && $(MAKE) ICP_OS_LEVEL=kernel_space
+- @cp $(SYM_PATH)/drbg_sample/drbg_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+ endif
+
+ gcm_sample: output_dir
+ @cd $(SYM_PATH)/gcm_sample && $(MAKE) clean && $(MAKE) ICP_OS_LEVEL=user_space
+- @cp $(SYM_PATH)/gcm_sample/gcm_sample $(SAMPLE_BUILD_OUTPUT)/;
+ ifneq ($(WITH_UPSTREAM),1)
+ @cd $(SYM_PATH)/gcm_sample && $(MAKE) ICP_OS_LEVEL=kernel_space
+- @cp $(SYM_PATH)/gcm_sample/gcm_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+ endif
+
+ 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
+- @cp $(SYM_PATH)/hash_sample/hash_sample $(SAMPLE_BUILD_OUTPUT)/;
+ ifneq ($(WITH_UPSTREAM),1)
+ @cd $(SYM_PATH)/hash_sample && $(MAKE) ICP_OS_LEVEL=kernel_space
+- @cp $(SYM_PATH)/hash_sample/hash_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+ endif
+
+ ipsec_sample: output_dir
+ @cd $(SYM_PATH)/ipsec_sample && $(MAKE) clean && $(MAKE) ICP_OS_LEVEL=user_space
+- @cp $(SYM_PATH)/ipsec_sample/ipsec_sample $(SAMPLE_BUILD_OUTPUT)/;
+ ifneq ($(WITH_UPSTREAM),1)
+ @cd $(SYM_PATH)/ipsec_sample && $(MAKE) ICP_OS_LEVEL=kernel_space
+- @cp $(SYM_PATH)/ipsec_sample/ipsec_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+ endif
+
+ nrbg_sample: output_dir
+ @cd $(SYM_PATH)/nrbg_sample && $(MAKE) clean && $(MAKE) ICP_OS_LEVEL=user_space
+- @cp $(SYM_PATH)/nrbg_sample/nrbg_sample $(SAMPLE_BUILD_OUTPUT)/;
+ ifneq ($(WITH_UPSTREAM),1)
+ @cd $(SYM_PATH)/nrbg_sample && $(MAKE) && $(MAKE) ICP_OS_LEVEL=kernel_space
+- @cp $(SYM_PATH)/nrbg_sample/nrbg_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+ endif
+
+ ssl_sample: output_dir
+ @cd $(SYM_PATH)/ssl_sample && $(MAKE) clean && $(MAKE) ICP_OS_LEVEL=user_space
+- @cp $(SYM_PATH)/ssl_sample/ssl_sample $(SAMPLE_BUILD_OUTPUT)/;
+ ifneq ($(WITH_UPSTREAM),1)
+ @cd $(SYM_PATH)/ssl_sample && $(MAKE) ICP_OS_LEVEL=kernel_space
+- @cp $(SYM_PATH)/ssl_sample/ssl_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+ endif
+
+ sym_dp_sample: output_dir
+ @cd $(SYM_PATH)/symdp_sample && $(MAKE) clean && $(MAKE) ICP_OS_LEVEL=user_space
+- @cp $(SYM_PATH)/symdp_sample/sym_dp_sample $(SAMPLE_BUILD_OUTPUT)/;
+ ifneq ($(WITH_UPSTREAM),1)
+ @cd $(SYM_PATH)/symdp_sample && $(MAKE) ICP_OS_LEVEL=kernel_space
+- @cp $(SYM_PATH)/symdp_sample/sym_dp_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+ endif
+
+ BUILD_ASYM=diffie_hellman_sample prime_sample
+@@ -248,18 +222,51 @@ asym: $(BUILD_ASYM)
+
+ diffie_hellman_sample: output_dir
+ @cd $(ASYM_PATH)/diffie_hellman_sample && $(MAKE) clean && $(MAKE) ICP_OS_LEVEL=user_space
+- @cp $(ASYM_PATH)/diffie_hellman_sample/dh_sample $(SAMPLE_BUILD_OUTPUT)/;
+ ifneq ($(WITH_UPSTREAM),1)
+ @cd $(ASYM_PATH)/diffie_hellman_sample && $(MAKE) ICP_OS_LEVEL=kernel_space
+- @cp $(ASYM_PATH)/diffie_hellman_sample/dh_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+ endif
+
+ prime_sample: output_dir
+ @cd $(ASYM_PATH)/prime_sample && $(MAKE) clean && $(MAKE) ICP_OS_LEVEL=user_space
+- @cp $(ASYM_PATH)/prime_sample/prime_sample $(SAMPLE_BUILD_OUTPUT)/;
+ ifneq ($(WITH_UPSTREAM),1)
+ @cd $(ASYM_PATH)/prime_sample && $(MAKE) ICP_OS_LEVEL=kernel_space
+- @cp $(ASYM_PATH)/prime_sample/prime_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
++endif
++
++install: output_dir
++ @cp $(DC_PATH)/dc_dp_sample/dc_dp_sample $(BIN_INSTALLPATH);
++ @cp $(DC_PATH)/stateless_sample/dc_stateless_sample $(BIN_INSTALLPATH);
++ @cp $(DC_PATH)/stateful_sample/dc_stateful_sample $(BIN_INSTALLPATH);
++ @cp $(DC_PATH)/stateful_sample/paper4 $(BIN_INSTALLPATH);
++ @cp $(DC_PATH)/stateless_multi_op_checksum_sample/dc_stateless_multi_op_sample $(BIN_INSTALLPATH);
++ @cp $(SYM_PATH)/alg_chaining_sample/algchaining_sample $(BIN_INSTALLPATH);
++ @cp $(SYM_PATH)/ccm_sample/ccm_sample $(BIN_INSTALLPATH);
++ @cp $(SYM_PATH)/cipher_sample/cipher_sample $(BIN_INSTALLPATH);
++ @cp $(SYM_PATH)/drbg_sample/drbg_sample $(BIN_INSTALLPATH);
++ @cp $(SYM_PATH)/gcm_sample/gcm_sample $(BIN_INSTALLPATH);
++ @cp $(SYM_PATH)/hash_file_sample/hash_file_sample $(BIN_INSTALLPATH);
++ @cp $(SYM_PATH)/hash_sample/hash_sample $(BIN_INSTALLPATH);
++ @cp $(SYM_PATH)/ipsec_sample/ipsec_sample $(BIN_INSTALLPATH);
++ @cp $(SYM_PATH)/nrbg_sample/nrbg_sample $(BIN_INSTALLPATH);
++ @cp $(SYM_PATH)/ssl_sample/ssl_sample $(BIN_INSTALLPATH);
++ @cp $(SYM_PATH)/symdp_sample/sym_dp_sample $(BIN_INSTALLPATH);
++ @cp $(ASYM_PATH)/diffie_hellman_sample/dh_sample $(BIN_INSTALLPATH);
++ @cp $(ASYM_PATH)/prime_sample/prime_sample $(BIN_INSTALLPATH);
++ifneq ($(WITH_UPSTREAM),1)
++ @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_multi_op_checksum_sample/dc_stateless_multi_op_sample.ko $(MODULE_INSTALLPATH);
++ @cp $(SYM_PATH)/alg_chaining_sample/algchaining_sample.ko $(MODULE_INSTALLPATH);
++ @cp $(SYM_PATH)/ccm_sample/ccm_sample.ko $(MODULE_INSTALLPATH);
++ @cp $(SYM_PATH)/cipher_sample/cipher_sample.ko $(MODULE_INSTALLPATH);
++ @cp $(SYM_PATH)/drbg_sample/drbg_sample.ko $(MODULE_INSTALLPATH);
++ @cp $(SYM_PATH)/gcm_sample/gcm_sample.ko $(MODULE_INSTALLPATH);
++ @cp $(SYM_PATH)/hash_sample/hash_sample.ko $(MODULE_INSTALLPATH);
++ @cp $(SYM_PATH)/ipsec_sample/ipsec_sample.ko $(MODULE_INSTALLPATH);
++ @cp $(SYM_PATH)/nrbg_sample/nrbg_sample.ko $(MODULE_INSTALLPATH);
++ @cp $(SYM_PATH)/ssl_sample/ssl_sample.ko $(MODULE_INSTALLPATH);
++ @cp $(SYM_PATH)/symdp_sample/sym_dp_sample.ko $(MODULE_INSTALLPATH);
++ @cp $(ASYM_PATH)/diffie_hellman_sample/dh_sample.ko $(MODULE_INSTALLPATH);
++ @cp $(ASYM_PATH)/prime_sample/prime_sample.ko $(MODULE_INSTALLPATH);
+ endif
+
+ CLEAN_DC=clean_dc_dp_sample clean_stateless_sample \
+--
+1.7.9.5
+
diff --git a/meta-qat/recipes-extended/qat/qat16/qat16_2.5.0-80-qat-change-in-return-type-of-func-in-kernel-v4.4.patch b/meta-qat/recipes-extended/qat/qat16/qat16_2.5.0-80-qat-change-in-return-type-of-func-in-kernel-v4.4.patch
new file mode 100644
index 00000000..b427799b
--- /dev/null
+++ b/meta-qat/recipes-extended/qat/qat16/qat16_2.5.0-80-qat-change-in-return-type-of-func-in-kernel-v4.4.patch
@@ -0,0 +1,40 @@
+From f056dbedd106e03860de66d5c84cd018da087dda Mon Sep 17 00:00:00 2001
+From: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com>
+Date: Tue, 22 Mar 2016 00:59:36 +0800
+Subject: [PATCH 1/2] qat: change in return type of func in kernel v4.4
+
+Upstream-Status: Submitted
+
+The function 'seq_puts' return type is changed from 'int' to 'void'.
+Now use of 'ret' variable is not valid. So used another condition to check
+for overflow.
+
+Signed-off-by: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com>
+---
+ quickassist/adf/drivers/common/linux/src/adf_proc_debug.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/quickassist/adf/drivers/common/linux/src/adf_proc_debug.c b/quickassist/adf/drivers/common/linux/src/adf_proc_debug.c
+index 7d81eaa..a1dd917 100755
+--- a/quickassist/adf/drivers/common/linux/src/adf_proc_debug.c
++++ b/quickassist/adf/drivers/common/linux/src/adf_proc_debug.c
+@@ -132,13 +132,13 @@ static int adf_debug_show(struct seq_file *sfile, void *v)
+ {
+ debug_file_info_t* file_info = sfile->private;
+ if (file_info && file_info->seq_read && file_info->page) {
+- int ret = 0, old_offset = file_info->offset;
++ int old_offset = file_info->offset;
+ file_info->offset =
+ file_info->seq_read(file_info->private_data,
+ file_info->page, PAGE_SIZE - 1,
+ file_info->offset);
+- ret = seq_puts(sfile, (char*)file_info->page);
+- if (ret) {
++ seq_puts(sfile, (char*)file_info->page);
++ if (sfile->count == sfile->size) {
+ /* run out of space - need to reprint */
+ file_info->offset = old_offset;
+ }
+--
+1.9.1
+
diff --git a/meta-qat/recipes-extended/qat/qat16/qat16_2.6.0-65-qat-add-install-target-to-makefiles.patch b/meta-qat/recipes-extended/qat/qat16/qat16_2.6.0-65-qat-add-install-target-to-makefiles.patch
new file mode 100644
index 00000000..39600228
--- /dev/null
+++ b/meta-qat/recipes-extended/qat/qat16/qat16_2.6.0-65-qat-add-install-target-to-makefiles.patch
@@ -0,0 +1,353 @@
+From f53aeef0ae6a89066cca8c9a9154e70408f6ef68 Mon Sep 17 00:00:00 2001
+From: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com>
+Date: Thu, 24 Mar 2016 01:11:02 +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: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com>
+---
+ quickassist/Makefile | 29 ++++++---
+ .../access_layer/src/sample_code/Makefile | 19 ++++--
+ .../src/sample_code/functional/Makefile | 74 ++++++++++++----------
+ 3 files changed, 75 insertions(+), 47 deletions(-)
+
+diff --git a/quickassist/Makefile b/quickassist/Makefile
+index 6c5d436..0a1ee4c 100644
+--- a/quickassist/Makefile
++++ b/quickassist/Makefile
+@@ -109,7 +109,7 @@ 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
+ ALL_TARGETS_CI = lac_lib_dir qat_mux_ci lac_ci lac_user_ci 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
+ ALL_TARGETS_CI = lac_lib_dir lac_ci lac_user_ci qat-fw install_scripts
+ endif
+ ICP_ARCH_USER?=`uname -m`
+@@ -125,7 +125,16 @@ all_ci: $(ALL_TARGETS_CI)
+ @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';
+@@ -133,10 +142,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)/;
+
+@@ -233,7 +242,7 @@ lac_user: output_dir libosal_user adf_user
+ @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);
+
+ lac_user_ci: output_dir
+ @echo ; echo 'Building LAC in user space';
+@@ -244,9 +253,9 @@ lac_user_ci: output_dir
+
+ 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'
+@@ -306,6 +315,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 c66ecfb..4cc3dbf 100644
+--- a/quickassist/lookaside/access_layer/src/sample_code/Makefile
++++ b/quickassist/lookaside/access_layer/src/sample_code/Makefile
+@@ -89,6 +89,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
+@@ -100,6 +101,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); \
+@@ -154,14 +157,11 @@ perf_all: $(PERF_ALL)
+ perf_user: output_dir
+ @echo ; echo "Building perf_user";
+ @cd $(PERF_PATH) && $(MAKE) clean ICP_OS_LEVEL=user_space && $(MAKE) ARCH=$(ICP_ARCH_USER) 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_kernel: output_dir
+ @echo ; echo "Building common_mem_drv kernel space";
+ @cd $(CMN_ROOT) && $(MAKE) ICP_OS_LEVEL=user_space cm_kernel
+@@ -175,12 +175,19 @@ common_mem_drv_user: 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 3208acf..41754e8 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
+
+ CMN_ROOT?=$(ICP_ROOT)/quickassist/lookaside/access_layer/src/sample_code/performance/qae/
+ CMN_MODULE_NAME?=qaeMemDrv
+@@ -105,6 +107,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
+@@ -114,31 +117,23 @@ dc: $(BUILD_DC)
+
+ dc_dp_sample: output_dir
+ @cd $(DC_PATH)/dc_dp_sample && $(MAKE) clean && $(MAKE) ICP_OS_LEVEL=user_space
+- @cp $(DC_PATH)/dc_dp_sample/dc_dp_sample $(SAMPLE_BUILD_OUTPUT)/;
+ ifneq ($(WITH_UPSTREAM),1)
+ @cd $(DC_PATH)/dc_dp_sample && $(MAKE) ICP_OS_LEVEL=kernel_space
+- @cp $(DC_PATH)/dc_dp_sample/dc_dp_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+ endif
+
+ stateless_sample: output_dir
+ @cd $(DC_PATH)/stateless_sample && $(MAKE) clean && $(MAKE) ICP_OS_LEVEL=user_space
+- @cp $(DC_PATH)/stateless_sample/dc_stateless_sample $(SAMPLE_BUILD_OUTPUT)/;
+ ifneq ($(WITH_UPSTREAM),1)
+ @cd $(DC_PATH)/stateless_sample && $(MAKE) ICP_OS_LEVEL=kernel_space
+- @cp $(DC_PATH)/stateless_sample/dc_stateless_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+ endif
+
+ 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) clean && $(MAKE) ICP_OS_LEVEL=user_space
+- @cp $(DC_PATH)/stateless_multi_op_checksum_sample/dc_stateless_multi_op_sample $(SAMPLE_BUILD_OUTPUT)/;
+ ifneq ($(WITH_UPSTREAM),1)
+ @cd $(DC_PATH)/stateless_multi_op_checksum_sample && $(MAKE) ICP_OS_LEVEL=kernel_space
+- @cp $(DC_PATH)/stateless_multi_op_checksum_sample/dc_stateless_multi_op_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+ endif
+
+ BUILD_SYN=algchaining_sample ccm_sample cipher_sample \
+@@ -154,86 +149,65 @@ 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
+- @cp $(SYM_PATH)/alg_chaining_sample/algchaining_sample $(SAMPLE_BUILD_OUTPUT)/;
+ ifneq ($(WITH_UPSTREAM),1)
+ @cd $(SYM_PATH)/alg_chaining_sample && $(MAKE) ICP_OS_LEVEL=kernel_space
+- @cp $(SYM_PATH)/alg_chaining_sample/algchaining_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+ endif
+
+ ccm_sample: output_dir
+ @cd $(SYM_PATH)/ccm_sample && $(MAKE) clean && $(MAKE) ICP_OS_LEVEL=user_space
+- @cp $(SYM_PATH)/ccm_sample/ccm_sample $(SAMPLE_BUILD_OUTPUT)/;
+ ifneq ($(WITH_UPSTREAM),1)
+ @cd $(SYM_PATH)/ccm_sample && $(MAKE) ICP_OS_LEVEL=kernel_space
+- @cp $(SYM_PATH)/ccm_sample/ccm_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+ endif
+
+ cipher_sample: output_dir
+ @cd $(SYM_PATH)/cipher_sample && $(MAKE) clean && $(MAKE) ICP_OS_LEVEL=user_space
+- @cp $(SYM_PATH)/cipher_sample/cipher_sample $(SAMPLE_BUILD_OUTPUT)/;
+ ifneq ($(WITH_UPSTREAM),1)
+ @cd $(SYM_PATH)/cipher_sample && $(MAKE) ICP_OS_LEVEL=kernel_space
+- @cp $(SYM_PATH)/cipher_sample/cipher_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+ endif
+
+ drbg_sample: output_dir
+ @cd $(SYM_PATH)/drbg_sample && $(MAKE) clean && $(MAKE) ICP_OS_LEVEL=user_space
+- @cp $(SYM_PATH)/drbg_sample/drbg_sample $(SAMPLE_BUILD_OUTPUT)/;
+ ifneq ($(WITH_UPSTREAM),1)
+ @cd $(SYM_PATH)/drbg_sample && $(MAKE) ICP_OS_LEVEL=kernel_space
+- @cp $(SYM_PATH)/drbg_sample/drbg_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+ endif
+
+ gcm_sample: output_dir
+ @cd $(SYM_PATH)/gcm_sample && $(MAKE) clean && $(MAKE) ICP_OS_LEVEL=user_space
+- @cp $(SYM_PATH)/gcm_sample/gcm_sample $(SAMPLE_BUILD_OUTPUT)/;
+ ifneq ($(WITH_UPSTREAM),1)
+ @cd $(SYM_PATH)/gcm_sample && $(MAKE) ICP_OS_LEVEL=kernel_space
+- @cp $(SYM_PATH)/gcm_sample/gcm_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+ endif
+
+ 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
+- @cp $(SYM_PATH)/hash_sample/hash_sample $(SAMPLE_BUILD_OUTPUT)/;
+ ifneq ($(WITH_UPSTREAM),1)
+ @cd $(SYM_PATH)/hash_sample && $(MAKE) ICP_OS_LEVEL=kernel_space
+- @cp $(SYM_PATH)/hash_sample/hash_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+ endif
+
+ ipsec_sample: output_dir
+ @cd $(SYM_PATH)/ipsec_sample && $(MAKE) clean && $(MAKE) ICP_OS_LEVEL=user_space
+- @cp $(SYM_PATH)/ipsec_sample/ipsec_sample $(SAMPLE_BUILD_OUTPUT)/;
+ ifneq ($(WITH_UPSTREAM),1)
+ @cd $(SYM_PATH)/ipsec_sample && $(MAKE) ICP_OS_LEVEL=kernel_space
+- @cp $(SYM_PATH)/ipsec_sample/ipsec_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+ endif
+
+ nrbg_sample: output_dir
+ @cd $(SYM_PATH)/nrbg_sample && $(MAKE) clean && $(MAKE) ICP_OS_LEVEL=user_space
+- @cp $(SYM_PATH)/nrbg_sample/nrbg_sample $(SAMPLE_BUILD_OUTPUT)/;
+ ifneq ($(WITH_UPSTREAM),1)
+ @cd $(SYM_PATH)/nrbg_sample && $(MAKE) && $(MAKE) ICP_OS_LEVEL=kernel_space
+- @cp $(SYM_PATH)/nrbg_sample/nrbg_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+ endif
+
+ ssl_sample: output_dir
+ @cd $(SYM_PATH)/ssl_sample && $(MAKE) clean && $(MAKE) ICP_OS_LEVEL=user_space
+- @cp $(SYM_PATH)/ssl_sample/ssl_sample $(SAMPLE_BUILD_OUTPUT)/;
+ ifneq ($(WITH_UPSTREAM),1)
+ @cd $(SYM_PATH)/ssl_sample && $(MAKE) ICP_OS_LEVEL=kernel_space
+- @cp $(SYM_PATH)/ssl_sample/ssl_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+ endif
+
+ sym_dp_sample: output_dir
+ @cd $(SYM_PATH)/symdp_sample && $(MAKE) clean && $(MAKE) ICP_OS_LEVEL=user_space
+- @cp $(SYM_PATH)/symdp_sample/sym_dp_sample $(SAMPLE_BUILD_OUTPUT)/;
+ ifneq ($(WITH_UPSTREAM),1)
+ @cd $(SYM_PATH)/symdp_sample && $(MAKE) ICP_OS_LEVEL=kernel_space
+- @cp $(SYM_PATH)/symdp_sample/sym_dp_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+ endif
+
+ BUILD_ASYM=diffie_hellman_sample prime_sample
+@@ -243,18 +217,52 @@ asym: $(BUILD_ASYM)
+
+ diffie_hellman_sample: output_dir
+ @cd $(ASYM_PATH)/diffie_hellman_sample && $(MAKE) clean && $(MAKE) ICP_OS_LEVEL=user_space
+- @cp $(ASYM_PATH)/diffie_hellman_sample/dh_sample $(SAMPLE_BUILD_OUTPUT)/;
+ ifneq ($(WITH_UPSTREAM),1)
+ @cd $(ASYM_PATH)/diffie_hellman_sample && $(MAKE) ICP_OS_LEVEL=kernel_space
+- @cp $(ASYM_PATH)/diffie_hellman_sample/dh_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
+ endif
+
+ prime_sample: output_dir
+ @cd $(ASYM_PATH)/prime_sample && $(MAKE) clean && $(MAKE) ICP_OS_LEVEL=user_space
+- @cp $(ASYM_PATH)/prime_sample/prime_sample $(SAMPLE_BUILD_OUTPUT)/;
+ ifneq ($(WITH_UPSTREAM),1)
+ @cd $(ASYM_PATH)/prime_sample && $(MAKE) ICP_OS_LEVEL=kernel_space
+- @cp $(ASYM_PATH)/prime_sample/prime_sample.ko $(SAMPLE_BUILD_OUTPUT)/;
++endif
++
++install: output_dir
++ @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)/stateless_sample/dc_stateless_sample $(BIN_INSTALLPATH);
++ @cp $(ASYM_PATH)/prime_sample/prime_sample $(BIN_INSTALLPATH);
++ @cp $(ASYM_PATH)/diffie_hellman_sample/dh_sample $(BIN_INSTALLPATH);
++ @cp $(SYM_PATH)/symdp_sample/sym_dp_sample $(BIN_INSTALLPATH);
++ @cp $(SYM_PATH)/ssl_sample/ssl_sample $(BIN_INSTALLPATH);
++ @cp $(SYM_PATH)/nrbg_sample/nrbg_sample $(BIN_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 $(BIN_INSTALLPATH);
++ @cp $(SYM_PATH)/gcm_sample/gcm_sample $(BIN_INSTALLPATH);
++ @cp $(SYM_PATH)/alg_chaining_sample/algchaining_sample $(BIN_INSTALLPATH);
++ @cp $(SYM_PATH)/ccm_sample/ccm_sample $(BIN_INSTALLPATH);
++ @cp $(SYM_PATH)/drbg_sample/drbg_sample $(BIN_INSTALLPATH);
++ @cp $(SYM_PATH)/cipher_sample/cipher_sample $(BIN_INSTALLPATH);
++
++ifneq ($(WITH_UPSTREAM),1)
++ @cp $(DC_PATH)/stateless_multi_op_checksum_sample/dc_stateless_multi_op_sample.ko $(MODULE_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 $(ASYM_PATH)/prime_sample/prime_sample.ko $(MODULE_INSTALLPATH);
++ @cp $(ASYM_PATH)/diffie_hellman_sample/dh_sample.ko $(MODULE_INSTALLPATH);
++ @cp $(SYM_PATH)/symdp_sample/sym_dp_sample.ko $(MODULE_INSTALLPATH);
++ @cp $(SYM_PATH)/ssl_sample/ssl_sample.ko $(MODULE_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_sample/hash_sample.ko $(MODULE_INSTALLPATH);
++ @cp $(SYM_PATH)/gcm_sample/gcm_sample.ko $(MODULE_INSTALLPATH);
++ @cp $(SYM_PATH)/alg_chaining_sample/algchaining_sample.ko $(MODULE_INSTALLPATH);
++ @cp $(SYM_PATH)/ccm_sample/ccm_sample.ko $(MODULE_INSTALLPATH);
++ @cp $(SYM_PATH)/drbg_sample/drbg_sample.ko $(MODULE_INSTALLPATH);
++ @cp $(SYM_PATH)/cipher_sample/cipher_sample.ko $(MODULE_INSTALLPATH);
+ endif
+
+ CLEAN_DC=clean_dc_dp_sample clean_stateless_sample \
+--
+1.9.1
+
diff --git a/meta-qat/recipes-extended/qat/qat16/qat16_2.6.0-65-qat-override-CC-LD-AR-only-when-it-is-not-define.patch b/meta-qat/recipes-extended/qat/qat16/qat16_2.6.0-65-qat-override-CC-LD-AR-only-when-it-is-not-define.patch
new file mode 100644
index 00000000..21cdeaee
--- /dev/null
+++ b/meta-qat/recipes-extended/qat/qat16/qat16_2.6.0-65-qat-override-CC-LD-AR-only-when-it-is-not-define.patch
@@ -0,0 +1,35 @@
+From b21929c42aca4bc80f6c48b5ac31bf20165b2f3e Mon Sep 17 00:00:00 2001
+From: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com>
+Date: Fri, 25 Mar 2016 18:02:37 +0800
+Subject: [PATCH] qat: override CC LD AR only when it is not define
+
+Upstream-Status: Inappropriate [Configuration]
+
+To make sure that compiler linker and archiver will override only when
+it is not defined by the environment.
+
+Signed-off-by: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com>
+---
+ quickassist/build_system/build_files/Core/ia.mk | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/quickassist/build_system/build_files/Core/ia.mk b/quickassist/build_system/build_files/Core/ia.mk
+index 4a4d123..f9aca23 100755
+--- a/quickassist/build_system/build_files/Core/ia.mk
++++ b/quickassist/build_system/build_files/Core/ia.mk
+@@ -67,9 +67,9 @@
+ # e.g. setenv CROSS_COMPILE x86_64-linux
+ ifdef CROSS_COMPILE
+ ifdef MACHINE
+-CC = $(CROSS_COMPILE)gcc
+-LD = $(CROSS_COMPILE)ld
+-AR = $(CROSS_COMPILE)ar
++CC ?= $(CROSS_COMPILE)gcc
++LD ?= $(CROSS_COMPILE)ld
++AR ?= $(CROSS_COMPILE)ar
+ else
+ $(error MACHINE is undefined. Please set your target i.e. x86_64 \
+ "-> setenv MACHINE x86_64 or export MACHINE=x86_64")
+--
+1.9.1
+
diff --git a/meta-qat/recipes-extended/qat/qat16/use-CC-for-LD.patch b/meta-qat/recipes-extended/qat/qat16/use-CC-for-LD.patch
new file mode 100644
index 00000000..36ceedf4
--- /dev/null
+++ b/meta-qat/recipes-extended/qat/qat16/use-CC-for-LD.patch
@@ -0,0 +1,17 @@
+Use CC to do the linking, helps in linking with gold or bfd linker
+
+Upstream-Status: Inappropriate [OE-Specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Index: QAT1.6/quickassist/build_system/build_files/OS/linux_2.6.mk
+===================================================================
+--- QAT1.6.orig/quickassist/build_system/build_files/OS/linux_2.6.mk
++++ QAT1.6/quickassist/build_system/build_files/OS/linux_2.6.mk
+@@ -89,7 +89,7 @@ EXTRA_CFLAGS+= -Wno-div-by-zero -Wfloat-
+ endif
+
+
+-LIB_SHARED_FLAGS+=-shared -soname $(LIB_SHARED)
++LIB_SHARED_FLAGS+=-shared -Wl,-soname,$(LIB_SHARED)
+ LIB_STATIC_FLAGS=
+ EXE_FLAGS?=
+