aboutsummaryrefslogtreecommitdiffstats
path: root/meta-qat/recipes-extended/qat/qat16.inc
diff options
context:
space:
mode:
Diffstat (limited to 'meta-qat/recipes-extended/qat/qat16.inc')
-rw-r--r--meta-qat/recipes-extended/qat/qat16.inc123
1 files changed, 123 insertions, 0 deletions
diff --git a/meta-qat/recipes-extended/qat/qat16.inc b/meta-qat/recipes-extended/qat/qat16.inc
new file mode 100644
index 00000000..ad117ba1
--- /dev/null
+++ b/meta-qat/recipes-extended/qat/qat16.inc
@@ -0,0 +1,123 @@
+DESCRIPTION = "Intel(r) QuickAssist Technology API"
+HOMEPAGE = "https://01.org/packet-processing/intel%C2%AE-quickassist-technology-drivers-and-patches"
+
+#Dual BSD and GPLv2 License
+LICENSE = "BSD & GPLv2"
+LIC_FILES_CHKSUM = "\
+ file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 \
+ file://${COMMON_LICENSE_DIR}/BSD;md5=3775480a712fc46a69647678acb234cb \
+ "
+
+DEPENDS += "zlib openssl"
+PROVIDES += "virtual/qat"
+
+SRC_URI="file://qat16_2.3.0-34-qat-fix-for-cross-compilation-issue.patch \
+ file://qat16_2.3.0-34-qat-remove-local-path-from-makefile.patch \
+ file://qat16_2.3.0-34-make-sure-CFLAGS-are-correct.patch \
+ file://qat16_2.5.0-80-qat-change-in-return-type-of-func-in-kernel-v4.4.patch \
+ file://qat16_2.5.0-80-qat-Added-include-dir-path.patch \
+ "
+
+COMPATIBLE_MACHINE = "null"
+COMPATIBLE_HOST_linux-gnux32 = "null"
+
+S = "${WORKDIR}/${ICP_DRIVER_TYPE}"
+ICP_TOOLS = "accelcomp"
+SAMPLE_CODE_DIR = "${S}/quickassist/lookaside/access_layer/src/sample_code"
+TARGET_CC_ARCH += "$(LDFLAGS)"
+
+export ICP_DRIVER_TYPE = "QAT1.6"
+export ICP_FIRMWARE_DIR="dh895xcc"
+export ICP_ROOT = "${S}"
+export ICP_ENV_DIR = "${S}/quickassist/build_system/build_files/env_files"
+export ICP_BUILDSYSTEM_PATH = "${S}/quickassist/build_system"
+export ICP_TOOLS_TARGET = "${ICP_TOOLS}"
+export FUNC_PATH = "${ICP_ROOT}/quickassist/lookaside/access_layer/src/sample_code/functional"
+export KERNEL_SOURCE_ROOT = "${STAGING_KERNEL_DIR}"
+export ICP_BUILD_OUTPUT = "${D}"
+export DEST_LIBDIR = "${libdir}"
+export DEST_BINDIR = "${bindir}"
+export QAT_KERNEL_VER = "${KERNEL_VERSION}"
+export SAMPLE_BUILD_OUTPUT = "${D}"
+export MODULE_DIR = "${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers"
+
+inherit module
+inherit update-rc.d
+INITSCRIPT_NAME = "qat_service"
+
+PARALLEL_MAKE = ""
+
+#To get around the double slashes in paths in QAT makefiles
+PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src"
+
+EXTRA_OEMAKE_append = " CFLAGS+='-fgnu89-inline -fPIC'"
+EXTRA_OEMAKE = "-e MAKEFLAGS="
+do_unpack2() {
+ cd ${S}/
+ tar xzvf ${ICP_DRIVER_TYPE}.L.${PV}.tar.gz
+}
+
+addtask unpack2 after do_unpack before do_patch
+
+do_compile () {
+ export LD="${CC} -Wl,--hash-style=gnu -nostartfiles -nodefaultlibs"
+ export MACHINE="${TARGET_ARCH}"
+ cd ${S}/quickassist
+ oe_runmake
+
+ 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'
+}
+
+do_install() {
+ export MACHINE="${TARGET_ARCH}"
+ cd ${S}/quickassist
+ oe_runmake install
+
+ cd ${SAMPLE_CODE_DIR}
+ oe_runmake install
+
+ install -d ${D}/etc/udev/rules.d \
+ ${D}${includedir} \
+ ${D}${includedir}/dc \
+ ${D}${includedir}/lac \
+ ${D}${sysconfdir}/dh895xcc \
+ ${D}${base_libdir}/firmware
+
+ echo 'KERNEL=="icp_adf_ctl" MODE="0600"' > ${D}/etc/udev/rules.d/00-dh895xcc_qa.rules
+ echo 'KERNEL=="icp_dev[0-9]*" MODE="0600"' >> ${D}/etc/udev/rules.d/00-dh895xcc_qa.rules
+ echo 'KERNEL=="icp_dev_mem?" MODE="0600"' >> ${D}/etc/udev/rules.d/00-dh895xcc_qa.rules
+
+ install -m 640 ${S}/quickassist/include/*.h ${D}${includedir}
+ install -m 640 ${S}/quickassist/include/dc/*.h ${D}${includedir}/dc/
+ install -m 640 ${S}/quickassist/include/lac/*.h ${D}${includedir}/lac/
+ install -m 640 ${S}/quickassist/lookaside/access_layer/include/*.h ${D}${includedir}
+
+ 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
+
+ install -m 660 ${S}/quickassist/config/dh* ${D}${sysconfdir}/dh895xcc
+}
+
+PACKAGES += "${PN}-app"
+
+FILES_${PN}-dev = "${includedir}"
+
+FILES_${PN} += "\
+ ${base_libdir}/firmware/ \
+ ${sysconfdir}/ \
+ ${sysconfdir}/udev/rules.d/ \
+ ${sysconfdir}/init.d/ \
+ ${libdir}/ \
+ "
+
+FILES_${PN}-dbg += "${sysconfdir}/init.d/.debug"
+
+FILES_${PN}-app += "${bindir}/*"
+
+EXCLUDE_FROM_WORLD_core2-32-intel-common = "1"