[meta-intel] [PATCH 1/1 daisy/dizzy] meta-crystalforest: Initial Intel QAT recipe

Darren Hart dvhart at linux.intel.com
Fri Mar 13 15:53:50 PDT 2015



On 2/26/15 11:26 PM, sundara.rajax.p.manoharan at intel.com wrote:
> From: sundararaja perumal <sundara.rajax.p.manoharan at intel.com>
>

First off - my sincere apologies for this delay.

Generally speaking, the size of this recipe is a strong indicator that
it's doing several things incorrectly. It seems to be duplicating
functionality it should be getting from meta classes and project Makefiles.

> This is an Initial version of Intel QuickAssist Technology(QAT)
> 
> Intel's QuickAssist Technology is designed to optimize the use
> and deployment of algorithm accelerators in networking and security applications.
> This recipe is created under meta-intel/meta-crystalforest.
>

I wonder if perhaps this would be better included as part of a common
layer for meta-isg, much as Boon Leong suggested for DPDK. Are there
likely to be other platforms this supports?


> This recipe supports QAT on Intel Xeon Processor E5-2600 series and E5-2400
> processors. Formerly(CrystalForest and HighlandForest) Platforms.
> 
> The Top-levelpackage name is "QATmux". The QATmux can interface to
> both QAT1.5 and QAT1.6 to bring up the Intel Communication Chipsets 89xx series
> formerly Coleto Creek(Intel DH895xcc PCH) and Cave Creek(Intel DH89xxCC PCH).
> 
> QAT1.5. for use with Intel Communications Chipset 8900 to 8920(DH89xxCC)Series.
> QAT1.6. for use with Intel Communications Chipset 8925 to 8955(DH895xcc)Series.

This should definitely be 2 recipes. We don't package 2 versions in the
same recipe.

> This recipe supports QAT on both Highland Forest and Crystal Forest
> platforms.
> 
> Signed-off-by: sundararaja perumal <sundara.rajax.p.manoharan at intel.com>
> Acked-by: Ong Boon Leong <boon.leong.ong at intel.com>
> ---
>  .../recipes-extended/qat-core/qat-core.bb          | 367 +++++++++++++++++++++
>  .../qat-core/qat-core/00-qat_core_qa.rules         |   3 +
>  .../0001-Fix-for-QAT_MUX-Compilation-error.patch   |  46 +++
>  .../qat-core/qat-1.6-sample-fix-QA-issue.patch     |  32 ++
>  4 files changed, 448 insertions(+)
>  create mode 100644 meta-crystalforest/recipes-extended/qat-core/qat-core.bb
>  create mode 100644 meta-crystalforest/recipes-extended/qat-core/qat-core/00-qat_core_qa.rules
>  create mode 100644 meta-crystalforest/recipes-extended/qat-core/qat-core/0001-Fix-for-QAT_MUX-Compilation-error.patch
>  create mode 100644 meta-crystalforest/recipes-extended/qat-core/qat-core/qat-1.6-sample-fix-QA-issue.patch
> 
> diff --git a/meta-crystalforest/recipes-extended/qat-core/qat-core.bb b/meta-crystalforest/recipes-extended/qat-core/qat-core.bb
> new file mode 100644
> index 0000000..3efb62e
> --- /dev/null
> +++ b/meta-crystalforest/recipes-extended/qat-core/qat-core.bb
> @@ -0,0 +1,367 @@
> +SUMMARY = "Intel QuickAssist Technology Driver"
> +DESCRIPTION = "Intel QuickAssist Technology for packet processing acceleration for both Intel Crystal Forest & Highland Forest platforms \
> +Software Package. "
> +
> +LICENSE = "GPLv2"
> +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
> +
> +QAT_MUX_VERSION = "2.2.0-30"
> +
> +PV = "${QAT_MUX_VERSION}"
> +QAT1_5_VERSION = "1.7.0-30"
> +QAT1_6_VERSION = "2.2.0-30"
> +
> +PR = "r0"

PR is now redundant, but this is targeted as far back as daisy, so I
need to ask Saul and Paul - is PR necessary as far back as daisy?

> +
> +SRC_URI = "https://01.org/sites/default/files/page/qatmux.l.${PV}.tar_.gz;name=qat\
> +	file://00-qat_core_qa.rules \
> +	file://0001-Fix-for-QAT_MUX-Compilation-error.patch \
> +	file://qat-1.6-sample-fix-QA-issue.patch \
> +	"
> +
> +SRC_URI[qat.md5sum] = "9567adeba4a4af50f4ac3ab70a3091ed"
> +SRC_URI[qat.sha256sum] = "00ac245dc6226d6bcba2326d7b6fa045f91a616c67a003f299f404af84d52032"
> +
> +KERNEL_VERSION = "${@base_read_file('${STAGING_KERNEL_DIR}/kernel-abiversion')}"
> +
> +# The list of binary built by QAT package.
> +
> +ICP_DRIVER_TYPE_LIST = "\
> +	dh895xcc \
> +	dh89xxcc \
> +	"
> +
> +STATIC_LIBS_QAT_1.6 = "\
> +	libadf_proxy.a \
> +	libqat_1_6_mux.a \
> +	libqat_mux.a \
> +	libosal.a \
> +	"
> +
> +STATIC_LIBS_QAT_1.5 = "\
> +	libqat_1_5_mux.a \
> +	libadf_proxy.a  \
> +	libqat_mux.a   \
> +	libosal.a \
> +	"
> +
> +SHARED_LIBS_QAT_1.6 = "\
> +	libqat_1_6_mux_s.so  \
> +	libqat_mux_s.so  \
> +	"
> +
> +SHARED_LIBS_QAT_1.5 = "\
> +	libqat_1_5_mux_s.so  \
> +	"
> +
> +KERNEL_OBJ_LIST_QAT_1.5 = "\
> +	qat_1_5_mux.ko \
> +	"
> +
> +KERNEL_OBJ_LIST_QAT_1.6 = "\
> +	qat_1_6_mux.ko \
> +	qat_mux.ko \
> +	"
> +
> +BIN_LIST_QAT1_6 = "\
> +	mof_firmware.bin \
> +	mmp_firmware.bin \
> +	"
> +
> +BIN_LIST_QAT1_5 = "\
> +	mof_firmware.bin \
> +	mmp_firmware.bin \
> +	mof_firmware_c2xxx.bin \
> +	mmp_firmware_c2xxx.bin \
> +	"
> +
> +INITD_SCRIPT_LIST = "\
> +	qat_service \
> +	"
> +
> +INITD_APP_LIST = "\
> +	adf_ctl \
> +	"
> +
> +FUNC_KERNEL_OBJ_LIST = "\
> +	algchaining_sample.ko \
> +	ccm_sample.ko \
> +	cipher_sample.ko \
> +	dc_dp_sample.ko \
> +	dc_stateless_multi_op_sample.ko \
> +	dc_stateless_sample.ko \
> +	dh_sample.ko \
> +	drbg_sample.ko \
> +	gcm_sample.ko \
> +	hash_sample.ko \
> +	ipsec_sample.ko \
> +	nrbg_sample.ko \
> +	prime_sample.ko \
> +	ssl_sample.ko \
> +	sym_dp_sample.ko \
> +	"
> +
> +FUNC_USER_APP_LIST = "\
> +	dh_sample \
> +	dc_stateful_sample \
> +	dc_dp_sample \
> +	cipher_sample \
> +	sym_dp_sample \
> +	nrbg_sample \
> +	drbg_sample \
> +	dc_stateless_multi_op_sample \
> +	paper4 \
> +	hash_file_sample \
> +	ccm_sample \
> +	ipsec_sample \
> +	algchaining_sample \
> +	ssl_sample \
> +	dc_stateless_sample \
> +	hash_sample \
> +	gcm_sample \
> +	prime_sample \
> +	"
> +
> +ICP_TOOLS = "accelcomp"
> +
> +MODULE_DIR = "${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers"
> +
> +export ICP_DH89XX = "QAT1.5"
> +export ICP_DH895X = "QAT1.6"
> +
> +export KERNEL_SOURCE_ROOT = "${STAGING_KERNEL_DIR}"
> +export ICP_TOOLS_TARGET = "${ICP_TOOLS}"
> +export ICP_NONBLOCKING_PARTIALS_PERFORM = "1"
> +export WITH_CPA_MUX = "1"
> +
> +HOST[unexport] = "1"
> +HOST[unexport] = "includedir"

There is a lot of this fairly nontradtional stuff in here which appears
to be for working around flaws in the project Makefiles. Please comment
each of them. This will make them easier to remove as the QAT sources
are improved.

Also, is there an effort underway to fix the QAT sources? All of this
looks very fragile and I'm concerned about it's maintainability over time.

> +
> +inherit update-rc.d
> +INITSCRIPT_NAME = "qat_service"
> +
> +inherit module
> +DEPENDS += "openssl"

These should be higher up in the recipe.

> +PARALLEL_MAKE=""

This is a good example. This negatively impacts build time and needs to
be justified with a comment.

> +
> +do_unpack_extra () {
> +	cd ${WORKDIR}
> +	tar xvf qatmux.l.${PV}.tar_
> +	cd "${WORKDIR}/${ICP_DH89XX}"
> +	tar xzvf ${ICP_DH89XX}.L.${QAT1_5_VERSION}.tar.gz
> +	cd "${WORKDIR}/${ICP_DH895X}"
> +	tar xzvf ${ICP_DH895X}.L.${QAT1_6_VERSION}.tar.gz
> +	#cpa_mux is introduced in latest QAT1.6 version for compiling both QAT1.5 and QAT1.6
> +	#we need to move it to common "WORKDIR" directory .
> +	mv "${WORKDIR}/${ICP_DH895X}/cpa_mux" "${WORKDIR}"
> +}
> +
> +addtask unpack_extra after do_unpack before do_patch
> +
> +do_patch() {
> +	cd ${WORKDIR}
> +	patch -p1 < qat-1.6-sample-fix-QA-issue.patch
> +	patch -p1 < 0001-Fix-for-QAT_MUX-Compilation-error.patch
> +}
> +
> +do_compile() {
> +		export LD="${LD} --hash-style=gnu"
> +		export MACHINE="${TARGET_ARCH}"
> +	for k in ${ICP_DRIVER_TYPE_LIST}

white space indentation inconsistency

> +	do
> +		if [ "${k}" == "dh89xxcc" ]; then
> +			ICP_DRIVER_DIR="QAT1.5"
> +		else
> +			ICP_DRIVER_DIR="QAT1.6"
> +		fi
> +		PKGSRC="${WORKDIR}/${ICP_DRIVER_DIR}"
> +		PKGBLD="${WORKDIR}/${ICP_DRIVER_DIR}/build"
> +		export ICP_ROOT="${PKGSRC}"
> +		export ICP_BUILD_OUTPUT="${PKGBLD}"
> +		export ICP_ENV_DIR="${PKGSRC}/quickassist/build_system/build_files/env_files"
> +		export ICP_BUILDSYSTEM_PATH="${PKGSRC}/quickassist/build_system"
> +		export FUNC_PATH="${PKGSRC}/quickassist/lookaside/access_layer/src/sample_code/functional"
> +		export SAMPLE_CODE_DIR="${PKGSRC}/quickassist/lookaside/access_layer/src/sample_code"
> +
> +		cd ${PKGSRC}/quickassist
> +		oe_runmake EXTRA_OEMAKE="CFLAGS=${CFLAGS} -fPIC"

Please see the examples of EXTRA_OEMAKE and CFLAGS in the various
layers. This should be set in the recipe declarations above, not each
time through this loop.

> +
> +		cd ${SAMPLE_CODE_DIR}
> +		touch ${SAMPLE_CODE_DIR}/performance/compression/calgary
> +		touch ${SAMPLE_CODE_DIR}/performance/compression/canterbury

Why are these touch commands necessary?

> +		# build the whole sample code: fips, functional, performance
> +		oe_runmake 'all'
> +		oe_runmake 'fips_user_code'

I wonder if a patch to the Makefile might allow you to use a much less
complicated do_compile override like this...

> +	done
> +}
> +
> +do_install() {
> +	for k in ${ICP_DRIVER_TYPE_LIST}
> +	do
> +		if [ "${k}" == "dh89xxcc" ]; then
> +			ICP_DRIVER_DIR="QAT1.5"
> +		else
> +			ICP_DRIVER_DIR="QAT1.6"
> +		fi
> +		PKGSRC="${WORKDIR}/${ICP_DRIVER_DIR}"
> +		PKGBLD="${WORKDIR}/${ICP_DRIVER_DIR}/build"
> +		install  -d	${D}${base_libdir}/firmware/$k \
> +				${MODULE_DIR}/$k \
> +				${D}${libdir}/$k \
> +				${D}${sysconfdir}/$k \
> +				${D}${sysconfdir}/udev/rules.d \
> +				${D}${includedir}/$k  \
> +				${D}${includedir}/$k/dc  \
> +				${D}${includedir}/$k/lac \
> +				${D}${bindir}/$k \
> +				${D}${sysconfdir}/init.d/$k \
> +		#########################################################
> +		#Install QAT Core Modules and Binaries:
> +		#########################################################
> +		if [ "${k}" == "dh89xxcc" ]; then
> +			for i in ${BIN_LIST_QAT1_5}
> +			do
> +				install -m 640  ${PKGBLD}/$i		${D}${base_libdir}/firmware/$k/
> +			done
> +			for i in ${KERNEL_OBJ_LIST_QAT_1.5}
> +			do
> +				install -m 640  ${PKGBLD}/$i		${MODULE_DIR}/$k/
> +			done
> +			for i in ${STATIC_LIBS_QAT_1.5}
> +			do
> +				install -m 644 ${PKGBLD}/$i		${D}${libdir}/$k/
> +			done
> +			for i in ${SHARED_LIBS_QAT_1.5}
> +			do
> +				install -m 644 ${PKGBLD}/$i		${D}${libdir}/$k/
> +			done
> +		else
> +			for i in ${BIN_LIST_QAT1_6}
> +			do
> +				install -m 640  ${PKGBLD}/$i		${D}${base_libdir}/firmware/$k/
> +			done
> +			for i in ${KERNEL_OBJ_LIST_QAT_1.6}
> +			do
> +				install -m 640  ${PKGBLD}/$i		${MODULE_DIR}/$k/
> +			done
> +			for i in ${STATIC_LIBS_QAT_1.6}
> +			do
> +				install -m 644 ${PKGBLD}/$i		${D}${libdir}/$k/
> +			done
> +			for i in ${SHARED_LIBS_QAT_1.6}
> +			do
> +				install -m 644 ${PKGBLD}/$i		${D}${libdir}/$k/
> +			done
> +		fi
> +
> +			for i in ${INITD_SCRIPT_LIST}
> +			do
> +				install -m 0750 ${PKGBLD}/$i		${D}${sysconfdir}/init.d/$k/
> +			done
> +			for i in ${INITD_APP_LIST}
> +			do
> +			install -m 0750 ${PKGBLD}/$i		${D}${sysconfdir}/init.d/$k/
> +			done
> +
> +		install -m 660  ${PKGSRC}/quickassist/config/*	${D}${sysconfdir}/$k/
> +
> +		#################################################################################
> +		# Install QAT test application
> +		#################################################################
> +		# Start putting package ingredient into each file system location
> +		#################################################################
> +		# sample_code/performance
> +		SAMPLE_CODE_DIR="${PKGSRC}/quickassist/lookaside/access_layer/src/sample_code"
> +		install -m 640 ${SAMPLE_CODE_DIR}/build/cpa_sample_code.ko	${MODULE_DIR}/$k/
> +		install -m 640 ${SAMPLE_CODE_DIR}/build/qaeMemDrv.ko		${MODULE_DIR}/$k/
> +		install -m 0755 ${SAMPLE_CODE_DIR}/build/cpa_sample_code	${D}${bindir}/$k/
> +		install -m 640 ${SAMPLE_CODE_DIR}/build/cpa_sample_code_s.so	${D}${libdir}/$k/
> +		install -m 640 ${SAMPLE_CODE_DIR}/performance/build/linux_2.6/kernel_space/cpa_sample_code.a	${D}${libdir}/$k/
> +		# sample_code/fips
> +		install -m 640 ${SAMPLE_CODE_DIR}/fips/build/linux_2.6/kernel_space/fips_sample.ko	${MODULE_DIR}/$k/
> +		install -m 640 ${SAMPLE_CODE_DIR}/fips/build/linux_2.6/user_space/fips_sample.a		${D}${libdir}/$k/
> +		install -m 640 ${SAMPLE_CODE_DIR}/fips/build/linux_2.6/user_space/fips_sample_s.so	${D}${libdir}/$k/
> +		# sample_code/functional
> +		for i in ${FUNC_KERNEL_OBJ_LIST}
> +		do
> +			install -m 640  ${SAMPLE_CODE_DIR}/functional/build/$i		${MODULE_DIR}/$k/
> +		done
> +		for i in ${FUNC_USER_APP_LIST}
> +		do
> +			install -m 0755  ${SAMPLE_CODE_DIR}/functional/build/$i		${D}/${bindir}/$k/
> +		done
> +		# QAT LAC include headers are required by intel-dpdk to be built properly
> +		install -m 640 ${PKGSRC}/quickassist/lookaside/access_layer/include/*.h	${D}${includedir}/$k/
> +		install -m 640 ${PKGSRC}/quickassist/include/*.h		${D}${includedir}/$k/
> +		install -m 640 ${PKGSRC}/quickassist/include/dc/*.h		${D}${includedir}/$k/dc/
> +		install -m 640 ${PKGSRC}/quickassist/include/lac/*.h	${D}${includedir}/$k/lac/
> +	done
> +	# QAT include headers are required by intel-dpdk to be built properly
> +	install -m 0600	${WORKDIR}/00-qat_core_qa.rules		${D}${sysconfdir}/udev/rules.d
> +	# Compression Calgary & Canterbury Corpus
> +	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/


This is A LOT of code for a recipe. The install command should leverage
the install of the source package rather than provide the entire
mechanism. All of this is highly dependent on the QAT source package and
version and should therefor be part of that package. How does someone
not using Yocto install this stuff? Do they have to run... 152 manual
commands?

> +}
> +
> +pkg_postinst_${PN}_append () {
> +	if [ -z "$D" ]; then
> +		depmod -a
> +		update-modules || true
> +	fi
> +}

This should be part of inheriting module. Why duplicate it here?

> +
> +PACKAGES += "${PN}-dh89xxcc"
> +PACKAGES += "${PN}-dh895xcc"
> +PACKAGES += "${PN}-app-dh89xxcc"
> +PACKAGES += "${PN}-app-dh895xcc"
> +PACKAGES += "${PN}-dbg-dh89xxcc"
> +PACKAGES += "${PN}-dbg-dh895xcc"

-dbg has a significant meaning to the packaging system, I believe it
needs to end in -dbg. I've asked Saul and Paul to verify.

> +
> +FILES_${PN} += " \
> +		${base_libdir}/firmware/ \
> +		${sysconfdir}/udev/rules.d/ \
> +	"
> +
> +FILES_${PN}-dh89xxcc += " \
> +		${base_libdir}/firmware/dh89xxcc \
> +		${sysconfdir}/dh89xxcc \
> +		${includedir}/dh89xxcc \
> +		${libdir}/dh89xxcc/*.so \
> +		"
> +
> +FILES_${PN}-dh895xcc += " \
> +		${base_libdir}/firmware/dh895xcc \
> +		${sysconfdir}/dh895xcc \
> +		${includedir}/dh895xcc \
> +		${libdir}/dh895xcc/*.so \
> +	"
> +
> +FILES_${PN}-app-dh89xxcc += " \
> +		${sysconfdir}/init.d/dh89xxcc/* \
> +		${bindir}/dh89xxcc/* \
> +	"
> +
> +FILES_${PN}-app-dh895xcc += " \
> +		${sysconfdir}/init.d/dh895xcc/* \
> +		${bindir}/dh895xcc/* \
> +	"
> +
> +FILES_${PN}-dbg-dh89xxcc += " \
> +		${sysconfdir}/init.d/dh89xxcc/.debug \
> +		${bindir}/dh89xxcc/.debug \
> +		${libdir}/dh89xxcc/.debug\
> +	"
> +
> +FILES_${PN}-dbg-dh895xcc += " \
> +		${bindir}/dh895xcc/.debug \
> +		${libdir}/dh895xcc/.debug\
> +		${sysconfdir}/init.d/dh895xcc/.debug \
> +	"
> +
> +FILES_${PN}-staticdev += " \
> +		${libdir}/dh895xcc/*.a \
> +		${libdir}/dh89xxcc/*.a \
> +	"
> +
> +PRIVATE_LIBS_${PN}-dh895xcc = "fips_sample_s.so libicp_qa_al_s.so cpa_sample_code_s.so libqat_mux_s.so libqat_1_6_mux_s.so libqat_1_5_mux_s.so"
> +PRIVATE_LIBS_${PN}-dh89xxcc = "fips_sample_s.so libicp_qa_al_s.so cpa_sample_code_s.so libqat_mux_s.so libqat_1_6_mux_s.so libqat_1_5_mux_s.so"
> diff --git a/meta-crystalforest/recipes-extended/qat-core/qat-core/00-qat_core_qa.rules b/meta-crystalforest/recipes-extended/qat-core/qat-core/00-qat_core_qa.rules
> new file mode 100644
> index 0000000..7b5b60e
> --- /dev/null
> +++ b/meta-crystalforest/recipes-extended/qat-core/qat-core/00-qat_core_qa.rules
> @@ -0,0 +1,3 @@
> +KERNEL=="icp_adf_ctl" MODE="0600"
> +KERNEL=="icp_dev[0-9]*" MODE="0600"
> +KERNEL=="icp_dev_mem?" MODE="0600"
> diff --git a/meta-crystalforest/recipes-extended/qat-core/qat-core/0001-Fix-for-QAT_MUX-Compilation-error.patch b/meta-crystalforest/recipes-extended/qat-core/qat-core/0001-Fix-for-QAT_MUX-Compilation-error.patch
> new file mode 100644
> index 0000000..acd3d6d
> --- /dev/null
> +++ b/meta-crystalforest/recipes-extended/qat-core/qat-core/0001-Fix-for-QAT_MUX-Compilation-error.patch
> @@ -0,0 +1,46 @@
> +From 2d5688d873c2ca9bdbd4e350709b06be28acca06 Mon Sep 17 00:00:00 2001
> +From: sundararaja perumal <sundara.rajax.p.manoharan at intel.com>
> +Date: Mon, 16 Feb 2015 13:41:41 +0800
> +Subject: [PATCH] Fix for QAT_MUX Compilation error:
> +
> +This will fix the qat-core-Mux Compliation error:
> +
> +While building the Qat-core module along the sample applications with CPA_MUX enabled.
> +The QAT1.5 sample application requires libqat_mux.so in the ICP_BUILD_OUTPUT Path .
> +Since QAT1.6 comes along with the cpa_mux and need to copy the binareies in the
> +specified path mentioned in the Makefile.
> +
> +Upstream Status: Inappropriate
> +
> +Signed-off-by: sundararaja perumal <sundara.rajax.p.manoharan at intel.com>
> +---
> + QAT1.5/quickassist/Makefile | 7 ++++++-
> + 1 file changed, 6 insertions(+), 1 deletion(-)
> +
> +diff --git a/QAT1.5/quickassist/Makefile b/QAT1.5/quickassist/Makefile
> +index d4e987d..ef092ad 100644
> +--- a/QAT1.5/quickassist/Makefile
> ++++ b/QAT1.5/quickassist/Makefile
> +@@ -96,7 +96,7 @@ ICP_TOP_ENV=$(ICP_BUILDSYSTEM_PATH)/build_files/env_files/
> + export ICP_ACCEL_INC=YES
> + LAC_LIB_DIR=$(LAC_PATH)/build/libs
> + export DRBG_POLL_AND_WAIT=1
> +-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 qat_mux qat-fw install_scripts
> + ICP_ARCH_USER?=`uname -m`
> +
> + ifdef ICP_SRIOV
> +@@ -199,6 +199,11 @@ 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_shared ICP_OS_LEVEL=user_space;
> +	cp $(LAC_PATH)/src/build/linux_2.6/user_space/lib$(BASENAME)_s.so $(ICP_BUILD_OUTPUT)/;
> +
> ++qat_mux: output_dir
> ++	@echo ; echo 'Copying MUX Binary':
> ++	@cp $(CPA_MUX_PATH)/build/linux_2.6/user_space/libqat_mux_s.so $(ICP_BUILD_OUTPUT)/;
> ++	@cp $(CPA_MUX_PATH)/build/linux_2.6/user_space/libqat_mux.a $(ICP_BUILD_OUTPUT)/;
> ++
> + qat-fw: output_dir
> +	@echo ; echo 'Copying DH89XXCC QAT-FW Binary';
> +	@cp -f $(QAT_FW_PATH)/icp_qat_ae.mof $(ICP_BUILD_OUTPUT)/mof_firmware.bin;
> +--
> +1.9.1
> diff --git a/meta-crystalforest/recipes-extended/qat-core/qat-core/qat-1.6-sample-fix-QA-issue.patch b/meta-crystalforest/recipes-extended/qat-core/qat-core/qat-1.6-sample-fix-QA-issue.patch
> new file mode 100644
> index 0000000..b5454f7
> --- /dev/null
> +++ b/meta-crystalforest/recipes-extended/qat-core/qat-core/qat-1.6-sample-fix-QA-issue.patch
> @@ -0,0 +1,32 @@
> +From 9f9529e41adf4aa3607b343da37f8af3f60ec31d Mon Sep 17 00:00:00 2001
> +From: Sreeju Selvaraj <sreeju.armughanx.selvaraj at intel.com>
> +Date: Thu, 30 Oct 2014 18:04:36 +0800
> +Subject: [PATCH] qat-core-sample: fix QA issue
> +
> +This will fix the qat-core-sample build error:
> +ERROR: QA Issue: qat-core-sample: The compile log indicates that host include
> +and/or library paths were used
> +
> +Upstream Status: Inappropriate
> +
> +Signed-off-by: Sreeju Selvaraj <sreeju.armughanx.selvaraj at intel.com>
> +---
> + .../build_system/build_files/env_files/linux_2.6_user_space.mk         | 3 +--
> + 1 file changed, 1 insertion(+), 2 deletions(-)
> +
> +diff --git a/QAT1.6/quickassist/build_system/build_files/env_files/linux_2.6_user_space.mk b/QAT1.6/quickassist/build_system/build_files/env_files/linux_2.6_user_space.mk
> +index 2d6e2dc..4c4c1c9 100755
> +--- a/QAT1.6/quickassist/build_system/build_files/env_files/linux_2.6_user_space.mk
> ++++ b/QAT1.6/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.9.1
> 

-- 
Darren Hart
Intel Open Source Technology Center


More information about the meta-intel mailing list