aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-extended/qat/qat17_4.24.0-00005.bb
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-extended/qat/qat17_4.24.0-00005.bb')
-rw-r--r--recipes-extended/qat/qat17_4.24.0-00005.bb193
1 files changed, 193 insertions, 0 deletions
diff --git a/recipes-extended/qat/qat17_4.24.0-00005.bb b/recipes-extended/qat/qat17_4.24.0-00005.bb
new file mode 100644
index 0000000..f875334
--- /dev/null
+++ b/recipes-extended/qat/qat17_4.24.0-00005.bb
@@ -0,0 +1,193 @@
+DESCRIPTION = "Intel(r) QuickAssist Technology API"
+HOMEPAGE = "https://www.intel.com/content/www/us/en/developer/topic-technology/open/quick-assist-technology/overview.html"
+
+#Dual BSD and GPLv2 License
+LICENSE = "BSD-3-Clause & GPL-2.0-only"
+LIC_FILES_CHKSUM = "\
+ file://LICENSE.GPL;md5=751419260aa954499f7abaabaa882bbe \
+ file://LICENSE.BSD;md5=7e3723742f05cc28b730c136742b3b80 \
+ "
+DEPENDS += "boost udev zlib openssl nasm-native"
+PROVIDES += "virtual/qat"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+SRC_URI = "https://downloadmirror.intel.com/795697/QAT.L.4.24.0-00005.tar.gz;subdir=qat17 \
+ file://0001-qat-fix-for-cross-compilation-issue.patch \
+ file://0002-qat-remove-local-path-from-makefile.patch \
+ file://0003-qat-override-CC-LD-AR-only-when-it-is-not-define.patch \
+ file://0004-update-KDIR-for-cross-compilation.patch \
+ file://0005-Added-include-dir-path.patch \
+ file://0006-qat-add-install-target-and-add-folder.patch \
+ file://0001-usdm_drv-convert-mutex_lock-to-mutex_trylock-to-avio.patch \
+ file://qat-remove-the-deprecated-pci-dma-compat.h-API.patch \
+ file://fix-redefinition-of-crypto_request_complete.patch \
+ file://build_fix.patch \
+ "
+
+do_configure[depends] += "virtual/kernel:do_shared_workdir"
+
+SRC_URI[sha256sum] = "d32546a312828ef0450ddb1543905b06880aa1eb46a8f3fad71a60292052292b"
+
+COMPATIBLE_MACHINE = "null"
+COMPATIBLE_HOST:x86-x32 = 'null'
+COMPATIBLE_HOST:libc-musl:class-target = 'null'
+
+S = "${WORKDIR}/qat17"
+ICP_TOOLS = "accelcomp"
+SAMPLE_CODE_DIR = "${S}/quickassist/lookaside/access_layer/src/sample_code"
+QAT_HEADER_FILES = "/opt/intel/QAT/quickassist"
+HUGE_PAGE_DIR = "/dev/hugepages/qat"
+
+export INSTALL_MOD_PATH = "${D}"
+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 INSTALL_FW_PATH = "${D}${base_libdir}/firmware"
+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 INSTALL_MOD_DIR = "${D}${base_libdir}/modules/${KERNEL_VERSION}"
+export KERNEL_BUILDDIR = "${STAGING_KERNEL_BUILDDIR}"
+export SC_EPOLL_DISABLED = "1"
+export WITH_UPSTREAM = "1"
+export WITH_CMDRV = "1"
+export KERNEL_SOURCE_DIR = "${ICP_ROOT}/quickassist/qat/"
+export ICP_NO_CLEAN = "1"
+export ICP_QDM_IOMMU = "1"
+
+inherit module
+inherit update-rc.d
+INITSCRIPT_NAME = "qat_service"
+
+PARALLEL_MAKE = ""
+
+EXTRA_OEMAKE:append = " CFLAGS+='-fgnu89-inline -fPIC'"
+EXTRA_OEMAKE = "-e MAKEFLAGS="
+
+do_compile () {
+ export LD="${LD} --hash-style=gnu"
+ export MACHINE="${TARGET_ARCH}"
+
+ cd ${S}/quickassist/qat
+ oe_runmake
+ oe_runmake 'modules_install'
+
+ cd ${S}/quickassist
+ oe_runmake
+
+ cd ${S}/quickassist/utilities/adf_ctl
+ oe_runmake
+
+ cd ${S}/quickassist/utilities/libusdm_drv
+ oe_runmake
+
+ cd ${S}/quickassist/lookaside/access_layer/src/qat_direct/src/
+ oe_runmake
+
+ #build the whole sample code: per_user only
+ cd ${SAMPLE_CODE_DIR}
+ oe_runmake 'perf_user'
+}
+
+do_install() {
+ export MACHINE="${TARGET_ARCH}"
+
+ cd ${S}/quickassist
+ oe_runmake install
+
+ cd ${S}/quickassist/qat
+ oe_runmake modules_install
+
+ install -d ${D}${sysconfdir}/udev/rules.d
+ install -d ${D}${sbindir}
+ install -d ${D}${sysconfdir}/conf_files
+ install -d ${D}${prefix}/src/qat
+
+ echo 'KERNEL=="qat_adf_ctl" MODE="0660" GROUP="qat"' > ${D}/etc/udev/rules.d/00-qat.rules
+ echo 'KERNEL=="qat_dev_processes" MODE="0660" GROUP="qat"' >> ${D}/etc/udev/rules.d/00-qat.rules
+ echo 'KERNEL=="usdm_drv" MODE="0660" GROUP="qat"' >> ${D}/etc/udev/rules.d/00-qat.rules
+ echo 'KERNEL=="uio*" MODE="0660" GROUP="qat"' >> ${D}/etc/udev/rules.d/00-qat.rules
+ echo 'ACTION=="add", DEVPATH=="/module/usdm_drv" SUBSYSTEM=="module" RUN+="/bin/mkdir ${HUGE_PAGE_DIR}"' >> ${D}/etc/udev/rules.d/00-qat.rules
+ echo 'ACTION=="add", DEVPATH=="/module/usdm_drv" SUBSYSTEM=="module" RUN+="/bin/chgrp qat ${HUGE_PAGE_DIR}"' >> ${D}/etc/udev/rules.d/00-qat.rules
+ echo 'ACTION=="add", DEVPATH=="/module/usdm_drv" SUBSYSTEM=="module" RUN+="/bin/chmod 0770 ${HUGE_PAGE_DIR}"' >> ${D}/etc/udev/rules.d/00-qat.rules
+ echo 'ACTION=="remove", DEVPATH=="/module/usdm_drv" SUBSYSTEM=="module" RUN+="/bin/rmdir ${HUGE_PAGE_DIR}"' >> ${D}/etc/udev/rules.d/00-qat.rules
+
+ mkdir -p ${D}${base_libdir}
+
+ install -D -m 0755 ${S}/quickassist/lookaside/access_layer/src/build/linux_2.6/user_space/libqat_s.so ${D}${base_libdir}
+ install -D -m 0644 ${S}/quickassist/lookaside/access_layer/src/build/linux_2.6/user_space/libqat.a ${D}${base_libdir}
+ install -D -m 0755 ${S}/quickassist/utilities/osal/src/build/linux_2.6/user_space/libosal_s.so ${D}${base_libdir}
+ install -D -m 0644 ${S}/quickassist/utilities/osal/src/build/linux_2.6/user_space/libosal.a ${D}${base_libdir}
+ install -D -m 0644 ${S}/quickassist/lookaside/access_layer/src/qat_direct/src/libadf_user.a ${D}${base_libdir}/libadf.a
+ install -D -m 0755 ${S}/quickassist/utilities/libusdm_drv/libusdm_drv_s.so ${D}${base_libdir}
+ install -D -m 0644 ${S}/quickassist/utilities/libusdm_drv/libusdm_drv.a ${D}${base_libdir}
+ install -D -m 0750 ${S}/quickassist/utilities/adf_ctl/adf_ctl ${D}${sbindir}
+
+ install -D -m 0644 ${S}/quickassist/utilities/adf_ctl/conf_files/*.conf ${D}${sysconfdir}/conf_files
+ install -D -m 0644 ${S}/quickassist/utilities/adf_ctl/conf_files/*.conf.vm ${D}${sysconfdir}/conf_files
+
+ install -m 0644 ${S}/quickassist/qat/fw/qat_d15xx.bin ${D}${nonarch_base_libdir}/firmware
+ install -m 0644 ${S}/quickassist/qat/fw/qat_d15xx_mmp.bin ${D}${nonarch_base_libdir}/firmware
+
+ # ICE-D LCC
+ install -m 0644 ${S}/quickassist/qat/fw/qat_200xx.bin ${D}${nonarch_base_libdir}/firmware
+ install -m 0644 ${S}/quickassist/qat/fw/qat_200xx_mmp.bin ${D}${nonarch_base_libdir}/firmware
+
+ # ICE-D HCC
+ install -m 0644 ${S}/quickassist/qat/fw/qat_c4xxx.bin ${D}${nonarch_base_libdir}/firmware
+ install -m 0644 ${S}/quickassist/qat/fw/qat_c4xxx_mmp.bin ${D}${nonarch_base_libdir}/firmware
+
+ install -d ${D}${QAT_HEADER_FILES}/include
+ install -d ${D}${QAT_HEADER_FILES}/include/dc
+ install -d ${D}${QAT_HEADER_FILES}/include/lac
+ install -d ${D}${QAT_HEADER_FILES}/lookaside/access_layer/include
+ install -d ${D}${QAT_HEADER_FILES}/utilities/libusdm_drv
+
+ install -m 0644 ${S}/quickassist/include/*.h ${D}${QAT_HEADER_FILES}/include
+ install -m 0644 ${S}/quickassist/include/dc/*.h ${D}${QAT_HEADER_FILES}/include/dc
+ install -m 0644 ${S}/quickassist/include/lac/*.h ${D}${QAT_HEADER_FILES}/include/lac
+ install -m 0644 ${S}/quickassist/lookaside/access_layer/include/*.h ${D}${QAT_HEADER_FILES}/lookaside/access_layer/include
+ install -m 0644 ${S}/quickassist/utilities/libusdm_drv/*.h ${D}${QAT_HEADER_FILES}/utilities/libusdm_drv
+
+ install -m 0644 ${S}/quickassist/lookaside/access_layer/src/sample_code/performance/compression/calgary ${D}${nonarch_base_libdir}/firmware
+ install -m 0644 ${S}/quickassist/lookaside/access_layer/src/sample_code/performance/compression/calgary32 ${D}${nonarch_base_libdir}/firmware
+ install -m 0644 ${S}/quickassist/lookaside/access_layer/src/sample_code/performance/compression/canterbury ${D}${nonarch_base_libdir}/firmware
+
+ #install qat source
+ cp ${DL_DIR}/QAT.L.${PV}.tar.gz ${D}${prefix}/src/qat/
+}
+
+SYSROOT_DIRS += "/opt"
+
+PACKAGES += "${PN}-app"
+
+FILES:${PN}-dev = "${QAT_HEADER_FILES}/ \
+ ${nonarch_base_libdir}/*.a \
+ "
+
+FILES:${PN} += "\
+ ${libdir}/ \
+ ${nonarch_base_libdir}/firmware \
+ ${sysconfdir}/ \
+ ${sbindir}/ \
+ ${base_libdir}/*.so \
+ ${prefix}/src/qat \
+ "
+
+FILES:${PN}-dbg += "${sysconfdir}/init.d/.debug/ \
+ "
+
+FILES:${PN}-app += "${bindir}/* \
+ ${prefix}/qat \
+ "
+
+# yasm encodes path to the input file and doesn't provide any option to workaround it.
+INSANE_SKIP:${PN}-staticdev += "buildpaths"
+INSANE_SKIP:${PN}-dbg += "buildpaths"
+INSANE_SKIP:kernel-module-intel-qat${KERNEL_MODULE_PACKAGE_SUFFIX} += "buildpaths"