[meta-intel] [PATCH 1/4 dizzy] meta-crystalforest: Add include file for QAT

Ong, Boon Leong boon.leong.ong at intel.com
Mon Jun 22 18:41:28 PDT 2015


>-----Original Message-----
>From: meta-intel-bounces at yoctoproject.org [mailto:meta-intel-
>bounces at yoctoproject.org] On Behalf Of Saul Wold
>Sent: Saturday, June 20, 2015 5:36 AM
>To: Pattu, VenkatasubramanianX; meta-intel at yoctoproject.org
>Subject: Re: [meta-intel] [PATCH 1/4 dizzy] meta-crystalforest: Add include file
>for QAT
>
>
>Some minor comments below.
>
>On 06/19/2015 12:13 AM, venkatasubramanian pattu wrote:
>> Added include file qat.inc to share common functionality based on
>> qat_1.5 and qat_1.6.
>>
>> Signed-off-by: venkatasubramanian pattu
>> <venkatasubramanianx.pattu at intel.com>
>> ---
>>   meta-crystalforest/recipes-extended/qat/qat.inc    | 201
>+++++++++++++++++++++
>>   .../recipes-extended/qat/qat/00-qat_qa.rules       |   3 +
>>   2 files changed, 204 insertions(+)
>>   create mode 100644 meta-crystalforest/recipes-extended/qat/qat.inc
>>   create mode 100644
>> meta-crystalforest/recipes-extended/qat/qat/00-qat_qa.rules
>>
>> diff --git a/meta-crystalforest/recipes-extended/qat/qat.inc
>> b/meta-crystalforest/recipes-extended/qat/qat.inc
>> new file mode 100644
>> index 0000000..e5f802b
>> --- /dev/null
>> +++ b/meta-crystalforest/recipes-extended/qat/qat.inc
>> @@ -0,0 +1,201 @@
>> +SUMMARY = "Intel QuickAssist Technology Driver"
>> +DESCRIPTION = "Intel QuickAssist Technology for packet processing
>> +acceleration for both Intel Coleto Creek & Cave Creek platforms \ Software
>Package. "
>> +
>> +LICENSE = "GPLv2"
>> +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-
>2.0;md5=801f80980d171dd6425610833a22dbe6"
>> +COMPATIBLE_MACHINE = "crystalforest"
>> +
>> +PR = "r0"
>The PR is really not needed anymore and the default will be r0.
>
>> +KERNEL_VERSION = "${@base_read_file('${STAGING_KERNEL_DIR}/kernel-
>abiversion')}"
>
>There is a better generic "get_kernelversion()" method in linux-yocto-base that I
>would suggest using.
>
>> +MODULE_DIR =
>"${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers"
>> +ICP_TOOLS = "accelcomp"
>> +
>> +S = "${WORKDIR}/${ICP_DRIVER_TYPE}"
>> +B = "${S}/build"
>> +SAMPLE_CODE_DIR =
>"${S}/quickassist/lookaside/access_layer/src/sample_code"
>> +
>> +export KERNEL_SOURCE_ROOT = "${STAGING_KERNEL_DIR}"
>> +export ICP_ROOT = "${S}"
>> +export ICP_BUILD_OUTPUT = "${B}"
>> +export ICP_BUILDSYSTEM_PATH = "${S}/quickassist/build_system"
>> +export ICP_TOOLS_TARGET = "${ICP_TOOLS}"
>> +export ICP_ENV_DIR = "${S}/quickassist/build_system/build_files/env_files"
>> +export FUNC_PATH =
>"${ICP_ROOT}/quickassist/lookaside/access_layer/src/sample_code/functional"
>> +
>> +HOST[unexport] = "1"
>> +HOST[unexport] = "includedir"
>> +
>> +inherit update-rc.d
>> +INITSCRIPT_NAME = "qat_service"
>> +
>> +inherit module
>> +DEPENDS += "openssl"
>> +PARALLEL_MAKE = ""
>> +
>> +# The list of binary built by QAT package.
>> +
>> +LIBS = "\
>> +	libadf_proxy.a \
>> +	libosal.a \
>> +	libicp_qa_al.a \
>> +	libicp_qa_al_s.so \
>> +	"
>> +
>> +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 \
>> +	"
>> +
>> +do_unpack2() {
>> +	cd ${WORKDIR}
>> +	tar xvf qatmux.l.${PV}.tar_
>> +	cd ${S}/
>> +	tar xzvf ${ICP_DRIVER_TYPE}.L.${QAT_VERSION}.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'
>> +}
>> +
>> +# Overriding do_install() of yocto module.bbclass so that we #
>> +specially handle the ingredients built by QAT
>
>I know there is not much we can do about this now, but it would be great to give
>feedback to the owners of the code to move this install to Makefiles instead of
>here.  If the above items are addressed this can go in but please that to the QAT
>folks.

The software package was released in the past and we have not much control
on it. We can look into further recipe optimization in future if that is ok with you. 
Definitely, we will provide feedback to QAT team. 



More information about the meta-intel mailing list