From: Yongxin Liu <[email protected]> Prepare for supporting QAT hardware version 2.0 in qat20 recipe. qat17 and qat20 can share common code in qat.inc.
Signed-off-by: Yongxin Liu <[email protected]> --- recipes-extended/qat/qat.inc | 159 +++++++++++++++++++++ recipes-extended/qat/qat17_4.24.0-00005.bb | 157 +------------------- 2 files changed, 162 insertions(+), 154 deletions(-) create mode 100644 recipes-extended/qat/qat.inc diff --git a/recipes-extended/qat/qat.inc b/recipes-extended/qat/qat.inc new file mode 100644 index 0000000..8d56162 --- /dev/null +++ b/recipes-extended/qat/qat.inc @@ -0,0 +1,159 @@ +DESCRIPTION = "Intel(r) QuickAssist Technology API" +HOMEPAGE = "https://www.intel.com/content/www/us/en/developer/topic-technology/open/quick-assist-technology/overview.html" + +DEPENDS += "boost udev zlib openssl nasm-native" +PROVIDES += "virtual/qat" +RPROVIDES:${PN} += "qat" + +TARGET_CC_ARCH += "${LDFLAGS}" + +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' + +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 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/* ${D}${sysconfdir}/conf_files + + if ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','true','false',d)}; then + mkdir -p ${D}${nonarch_base_libdir}/firmware + mv ${D}/lib/modules ${D}${nonarch_base_libdir} + rm -rf ${D}/lib + fi + + 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 +} + +SYSROOT_DIRS += "/opt" + +FILES:${PN}-dev = "${QAT_HEADER_FILES}/ \ + ${nonarch_base_libdir}/*.a \ + " + +FILES:${PN} += "\ + ${bindir}/* \ + ${libdir}/ \ + ${nonarch_base_libdir}/firmware \ + ${sysconfdir}/ \ + ${sbindir}/ \ + ${base_libdir}/*.so \ + ${prefix}/src/qat \ + " + +FILES:${PN}-dbg += "${sysconfdir}/init.d/.debug/ \ + " + +# 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" diff --git a/recipes-extended/qat/qat17_4.24.0-00005.bb b/recipes-extended/qat/qat17_4.24.0-00005.bb index 7fb8570..6313fae 100644 --- a/recipes-extended/qat/qat17_4.24.0-00005.bb +++ b/recipes-extended/qat/qat17_4.24.0-00005.bb @@ -1,5 +1,4 @@ -DESCRIPTION = "Intel(r) QuickAssist Technology API" -HOMEPAGE = "https://www.intel.com/content/www/us/en/developer/topic-technology/open/quick-assist-technology/overview.html" +include qat.inc #Dual BSD and GPLv2 License LICENSE = "BSD-3-Clause & GPL-2.0-only" @@ -7,11 +6,8 @@ LIC_FILES_CHKSUM = "\ file://LICENSE.GPL;md5=751419260aa954499f7abaabaa882bbe \ file://LICENSE.BSD;md5=7e3723742f05cc28b730c136742b3b80 \ " -DEPENDS += "boost udev zlib openssl nasm-native" -PROVIDES += "virtual/qat" -RPROVIDES:${PN} += "qat" -TARGET_CC_ARCH += "${LDFLAGS}" +DEPENDS += "boost udev zlib openssl nasm-native" 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 \ @@ -26,117 +22,12 @@ SRC_URI = "https://downloadmirror.intel.com/795697/QAT.L.4.24.0-00005.tar.gz;sub 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} +do_install:append() { 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/* ${D}${sysconfdir}/conf_files - - if ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','true','false',d)}; then - mkdir -p ${D}${nonarch_base_libdir}/firmware - mv ${D}/lib/modules ${D}${nonarch_base_libdir} - rm -rf ${D}/lib - fi 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 @@ -148,47 +39,5 @@ do_install() { # 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" - -FILES:${PN}-dev = "${QAT_HEADER_FILES}/ \ - ${nonarch_base_libdir}/*.a \ - " - -FILES:${PN} += "\ - ${bindir}/* \ - ${libdir}/ \ - ${nonarch_base_libdir}/firmware \ - ${sysconfdir}/ \ - ${sbindir}/ \ - ${base_libdir}/*.so \ - ${prefix}/src/qat \ - " - -FILES:${PN}-dbg += "${sysconfdir}/init.d/.debug/ \ - " - -# 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" -- 2.44.1
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#8416): https://lists.yoctoproject.org/g/meta-intel/message/8416 Mute This Topic: https://lists.yoctoproject.org/mt/108641802/21656 Group Owner: [email protected] Unsubscribe: https://lists.yoctoproject.org/g/meta-intel/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
