[meta-intel] [PATCH 1/4 dizzy] meta-crystalforest: Add include file for QAT
Ong, Boon Leong
boon.leong.ong at intel.com
Fri Jun 19 00:47:24 PDT 2015
>-----Original Message-----
>From: Pattu, VenkatasubramanianX
>Sent: Friday, June 19, 2015 3:14 PM
>To: meta-intel at yoctoproject.org
>Cc: Ong, Boon Leong; Pattu, VenkatasubramanianX
>Subject: [PATCH 1/4 dizzy] meta-crystalforest: Add include file for QAT
>
>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>
Reviewed-by: Ong Boon Leong <boon.leong.ong 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"
>+KERNEL_VERSION = "${@base_read_file('${STAGING_KERNEL_DIR}/kernel-
>abiversion')}"
>+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"
>diff --git a/meta-crystalforest/recipes-extended/qat/qat/00-qat_qa.rules
>b/meta-crystalforest/recipes-extended/qat/qat/00-qat_qa.rules
>new file mode 100644
>index 0000000..7b5b60e
>--- /dev/null
>+++ b/meta-crystalforest/recipes-extended/qat/qat/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"
>--
>1.9.1
More information about the meta-intel
mailing list