blob: c6538847f4488be2d31b19aeb0bf3e7a06ffee63 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
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 openssl10"
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 \
file://qat16-Osal-fix-build-with-x32.patch \
"
COMPATIBLE_MACHINE = "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"
# Support for 4.14 not yet available
python () {
if d.getVar("PREFERRED_PROVIDER_virtual/kernel") == "linux-intel" and \
d.getVar("PREFERRED_VERSION_linux-intel") == "4.14%" or \
d.getVar("PREFERRED_PROVIDER_virtual/kernel") == "linux-intel-rt" and \
d.getVar("PREFERRED_VERSION_linux-intel-rt") == "4.14%":
raise bb.parse.SkipPackage("This version of QAT has not been tested with Linux Kernel 4.14 or newer.")
}
|