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

venkatasubramanian pattu venkatasubramanianx.pattu at intel.com
Wed Jul 1 03:49:38 PDT 2015


Added include file qat.inc to share common functionality based on
qat15_1.7.0-30 and qat16_2.2.0-30.

Signed-off-by: venkatasubramanian pattu <venkatasubramanianx.pattu at intel.com>
---
 .../recipes-extended/qat/files/00-qat_qa.rules     |   3 +
 meta-crystalforest/recipes-extended/qat/qat.inc    | 200 +++++++++++++++++++++
 2 files changed, 203 insertions(+)
 create mode 100644 meta-crystalforest/recipes-extended/qat/files/00-qat_qa.rules
 create mode 100644 meta-crystalforest/recipes-extended/qat/qat.inc

diff --git a/meta-crystalforest/recipes-extended/qat/files/00-qat_qa.rules b/meta-crystalforest/recipes-extended/qat/files/00-qat_qa.rules
new file mode 100644
index 0000000..7b5b60e
--- /dev/null
+++ b/meta-crystalforest/recipes-extended/qat/files/00-qat_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/qat.inc b/meta-crystalforest/recipes-extended/qat/qat.inc
new file mode 100644
index 0000000..0053204
--- /dev/null
+++ b/meta-crystalforest/recipes-extended/qat/qat.inc
@@ -0,0 +1,200 @@
+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"
+DEPENDS += "cryptodev-linux pkgconfig zlib"
+
+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
+do_install() {
+	install  -d	${D}${base_libdir}/${ICP_FIRMWARE_DIR} \
+			${MODULE_DIR} \
+			${D}${libdir} \
+			${D}${includedir} \
+			${D}${includedir}/dc \
+			${D}${includedir}/lac \
+			${D}${sysconfdir} \
+			${D}${sysconfdir}/init.d \
+			${D}${sysconfdir}/udev/rules.d \
+
+	for i in ${LIBS}
+	do
+		install -m 644 ${B}/$i		${D}${libdir}/
+	done
+
+	install -m 640  ${B}/mof_firmware.bin		${D}${base_libdir}/${ICP_FIRMWARE_DIR}/
+	install -m 640  ${B}/mmp_firmware.bin		${D}${base_libdir}/${ICP_FIRMWARE_DIR}/
+	install -m 640  ${B}/icp_qa_al.ko		${MODULE_DIR}/
+	install -m 660  ${S}/quickassist/config/dh*	${D}${sysconfdir}/
+	install -m 0750 ${B}/qat_service		${D}${sysconfdir}/init.d/
+	install -m 0750 ${B}/adf_ctl		${D}${sysconfdir}/init.d/
+	install -m 0600	${WORKDIR}/00-qat_qa.rules		${D}${sysconfdir}/udev/rules.d
+
+	# QAT include headers are required by intel-dpdk to be built properly
+	install -m 0766 ${S}/quickassist/include/*.h		${D}${includedir}/
+	install -m 0766 ${S}/quickassist/include/dc/*.h		${D}${includedir}/dc/
+	install -m 0766 ${S}/quickassist/include/lac/*.h	${D}${includedir}/lac/
+
+	# QAT LAC include headers are required by intel-dpdk to be built properly
+	install -m 0766 ${S}/quickassist/lookaside/access_layer/include/*.h	${D}${includedir}/
+
+	# Install QAT test application
+	# Create the destination folder to contain the package content before it is split
+	install -m 0755 -d	${D}${base_libdir}/firmware \
+				${D}${bindir} \
+
+	# Start putting package ingredient into each file system location
+	# sample_code/performance
+	install -m 640 ${SAMPLE_CODE_DIR}/build/*.ko			${MODULE_DIR}/
+	install -m 0755 ${SAMPLE_CODE_DIR}/build/cpa_sample_code		${D}${bindir}/
+	install -m 640 ${SAMPLE_CODE_DIR}/build/cpa_sample_code_s.so	${D}${libdir}/
+	install -m 640 ${SAMPLE_CODE_DIR}/performance/build/linux_2.6/kernel_space/cpa_sample_code.a	${D}${libdir}
+
+	# sample_code/fips
+	install -m 640 ${SAMPLE_CODE_DIR}/fips/build/linux_2.6/kernel_space/fips_sample.ko	${MODULE_DIR}/
+	install -m 640 ${SAMPLE_CODE_DIR}/fips/build/linux_2.6/user_space/fips_sample.a		${D}${libdir}/
+	install -m 640 ${SAMPLE_CODE_DIR}/fips/build/linux_2.6/user_space/fips_sample_s.so	${D}${libdir}/
+
+	# sample_code/functional
+	for i in ${FUNC_KERNEL_OBJ_LIST}
+	do
+		install -m 640  ${SAMPLE_CODE_DIR}/functional/build/$i		${MODULE_DIR}/
+	done
+
+	for i in ${FUNC_USER_APP_LIST}
+	do
+		install -m 0755  ${SAMPLE_CODE_DIR}/functional/build/$i		${D}/${bindir}/
+	done
+
+	# 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
+}
+
+pkg_postinst_${PN}_append () {
+	if [ -z "$D" ]; then
+		depmod -a
+		update-modules || true
+	fi
+}
+
+PACKAGES += "${PN}-app"
+
+FILES_${PN} += "\
+		${base_libdir}/firmware/ \
+		${sysconfdir}/ \
+		${sysconfdir}/ \
+		${sysconfdir}/udev/rules.d/ \
+		${sysconfdir}/init.d/ \
+		${libdir}/ \
+		${includedir}/ \
+		"
+
+FILES_${PN}-dbg += " \
+	${sysconfdir}/init.d/.debug \
+	"
+
+FILES_${PN}-app += " \
+	${bindir}/* \
+	"
+
+FILES_${PN}-staticdev += "${libdir}/*.a"
-- 
1.9.1



More information about the meta-intel mailing list